// Licensed to Elasticsearch B.V under one or more agreements.
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
// See the LICENSE file in the project root for more information.
//
// ███╗   ██╗ ██████╗ ████████╗██╗ ██████╗███████╗
// ████╗  ██║██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝
// ██╔██╗ ██║██║   ██║   ██║   ██║██║     █████╗
// ██║╚██╗██║██║   ██║   ██║   ██║██║     ██╔══╝
// ██║ ╚████║╚██████╔╝   ██║   ██║╚██████╗███████╗
// ╚═╝  ╚═══╝ ╚═════╝    ╚═╝   ╚═╝ ╚═════╝╚══════╝
// ------------------------------------------------
//
// This file is automatically generated.
// Please do not edit these files manually.
//
// ------------------------------------------------

#nullable restore

using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;

namespace Elastic.Clients.Elasticsearch.Serverless.MachineLearning;

public partial class MachineLearningNamespacedClient : NamespacedClientProxy
{
	/// <summary>
	/// <para>Initializes a new instance of the <see cref="MachineLearningNamespacedClient"/> class for mocking.</para>
	/// </summary>
	protected MachineLearningNamespacedClient() : base()
	{
	}

	internal MachineLearningNamespacedClient(ElasticsearchClient client) : base(client)
	{
	}

	/// <summary>
	/// <para>Clear the cached results from a trained model deployment</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/clear-trained-model-deployment-cache.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ClearTrainedModelDeploymentCacheResponse> ClearTrainedModelDeploymentCacheAsync(ClearTrainedModelDeploymentCacheRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<ClearTrainedModelDeploymentCacheRequest, ClearTrainedModelDeploymentCacheResponse, ClearTrainedModelDeploymentCacheRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Clear the cached results from a trained model deployment</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/clear-trained-model-deployment-cache.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ClearTrainedModelDeploymentCacheResponse> ClearTrainedModelDeploymentCacheAsync(ClearTrainedModelDeploymentCacheRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<ClearTrainedModelDeploymentCacheRequestDescriptor, ClearTrainedModelDeploymentCacheResponse, ClearTrainedModelDeploymentCacheRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Clear the cached results from a trained model deployment</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/clear-trained-model-deployment-cache.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ClearTrainedModelDeploymentCacheResponse> ClearTrainedModelDeploymentCacheAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, CancellationToken cancellationToken = default)
	{
		var descriptor = new ClearTrainedModelDeploymentCacheRequestDescriptor(modelId);
		descriptor.BeforeRequest();
		return DoRequestAsync<ClearTrainedModelDeploymentCacheRequestDescriptor, ClearTrainedModelDeploymentCacheResponse, ClearTrainedModelDeploymentCacheRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Clear the cached results from a trained model deployment</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/clear-trained-model-deployment-cache.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ClearTrainedModelDeploymentCacheResponse> ClearTrainedModelDeploymentCacheAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, Action<ClearTrainedModelDeploymentCacheRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new ClearTrainedModelDeploymentCacheRequestDescriptor(modelId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<ClearTrainedModelDeploymentCacheRequestDescriptor, ClearTrainedModelDeploymentCacheResponse, ClearTrainedModelDeploymentCacheRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Closes one or more anomaly detection jobs. A job can be opened and closed multiple times throughout its lifecycle.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-close-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<CloseJobResponse> CloseJobAsync(CloseJobRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<CloseJobRequest, CloseJobResponse, CloseJobRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Closes one or more anomaly detection jobs. A job can be opened and closed multiple times throughout its lifecycle.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-close-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<CloseJobResponse> CloseJobAsync(CloseJobRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<CloseJobRequestDescriptor, CloseJobResponse, CloseJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Closes one or more anomaly detection jobs. A job can be opened and closed multiple times throughout its lifecycle.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-close-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<CloseJobResponse> CloseJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new CloseJobRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<CloseJobRequestDescriptor, CloseJobResponse, CloseJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Closes one or more anomaly detection jobs. A job can be opened and closed multiple times throughout its lifecycle.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-close-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<CloseJobResponse> CloseJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<CloseJobRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new CloseJobRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<CloseJobRequestDescriptor, CloseJobResponse, CloseJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-delete-calendar.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteCalendarResponse> DeleteCalendarAsync(DeleteCalendarRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<DeleteCalendarRequest, DeleteCalendarResponse, DeleteCalendarRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-delete-calendar.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteCalendarResponse> DeleteCalendarAsync(DeleteCalendarRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteCalendarRequestDescriptor, DeleteCalendarResponse, DeleteCalendarRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-delete-calendar.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteCalendarResponse> DeleteCalendarAsync(Elastic.Clients.Elasticsearch.Serverless.Id calendarId, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteCalendarRequestDescriptor(calendarId);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteCalendarRequestDescriptor, DeleteCalendarResponse, DeleteCalendarRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-delete-calendar.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteCalendarResponse> DeleteCalendarAsync(Elastic.Clients.Elasticsearch.Serverless.Id calendarId, Action<DeleteCalendarRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteCalendarRequestDescriptor(calendarId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteCalendarRequestDescriptor, DeleteCalendarResponse, DeleteCalendarRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes scheduled events from a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-delete-calendar-event.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteCalendarEventResponse> DeleteCalendarEventAsync(DeleteCalendarEventRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<DeleteCalendarEventRequest, DeleteCalendarEventResponse, DeleteCalendarEventRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes scheduled events from a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-delete-calendar-event.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteCalendarEventResponse> DeleteCalendarEventAsync(DeleteCalendarEventRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteCalendarEventRequestDescriptor, DeleteCalendarEventResponse, DeleteCalendarEventRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes scheduled events from a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-delete-calendar-event.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteCalendarEventResponse> DeleteCalendarEventAsync(Elastic.Clients.Elasticsearch.Serverless.Id calendarId, Elastic.Clients.Elasticsearch.Serverless.Id eventId, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteCalendarEventRequestDescriptor(calendarId, eventId);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteCalendarEventRequestDescriptor, DeleteCalendarEventResponse, DeleteCalendarEventRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes scheduled events from a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-delete-calendar-event.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteCalendarEventResponse> DeleteCalendarEventAsync(Elastic.Clients.Elasticsearch.Serverless.Id calendarId, Elastic.Clients.Elasticsearch.Serverless.Id eventId, Action<DeleteCalendarEventRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteCalendarEventRequestDescriptor(calendarId, eventId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteCalendarEventRequestDescriptor, DeleteCalendarEventResponse, DeleteCalendarEventRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes anomaly detection jobs from a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-delete-calendar-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteCalendarJobResponse> DeleteCalendarJobAsync(DeleteCalendarJobRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<DeleteCalendarJobRequest, DeleteCalendarJobResponse, DeleteCalendarJobRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes anomaly detection jobs from a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-delete-calendar-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteCalendarJobResponse> DeleteCalendarJobAsync(DeleteCalendarJobRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteCalendarJobRequestDescriptor, DeleteCalendarJobResponse, DeleteCalendarJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes anomaly detection jobs from a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-delete-calendar-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteCalendarJobResponse> DeleteCalendarJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id calendarId, Elastic.Clients.Elasticsearch.Serverless.Ids jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteCalendarJobRequestDescriptor(calendarId, jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteCalendarJobRequestDescriptor, DeleteCalendarJobResponse, DeleteCalendarJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes anomaly detection jobs from a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-delete-calendar-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteCalendarJobResponse> DeleteCalendarJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id calendarId, Elastic.Clients.Elasticsearch.Serverless.Ids jobId, Action<DeleteCalendarJobRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteCalendarJobRequestDescriptor(calendarId, jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteCalendarJobRequestDescriptor, DeleteCalendarJobResponse, DeleteCalendarJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-delete-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteDatafeedResponse> DeleteDatafeedAsync(DeleteDatafeedRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<DeleteDatafeedRequest, DeleteDatafeedResponse, DeleteDatafeedRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-delete-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteDatafeedResponse> DeleteDatafeedAsync(DeleteDatafeedRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteDatafeedRequestDescriptor, DeleteDatafeedResponse, DeleteDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-delete-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteDatafeedResponse> DeleteDatafeedAsync(Elastic.Clients.Elasticsearch.Serverless.Id datafeedId, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteDatafeedRequestDescriptor(datafeedId);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteDatafeedRequestDescriptor, DeleteDatafeedResponse, DeleteDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/ml-delete-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteDatafeedResponse> DeleteDatafeedAsync(Elastic.Clients.Elasticsearch.Serverless.Id datafeedId, Action<DeleteDatafeedRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteDatafeedRequestDescriptor(datafeedId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteDatafeedRequestDescriptor, DeleteDatafeedResponse, DeleteDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/delete-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteDataFrameAnalyticsResponse> DeleteDataFrameAnalyticsAsync(DeleteDataFrameAnalyticsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<DeleteDataFrameAnalyticsRequest, DeleteDataFrameAnalyticsResponse, DeleteDataFrameAnalyticsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/delete-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteDataFrameAnalyticsResponse> DeleteDataFrameAnalyticsAsync<TDocument>(DeleteDataFrameAnalyticsRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteDataFrameAnalyticsRequestDescriptor<TDocument>, DeleteDataFrameAnalyticsResponse, DeleteDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/delete-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteDataFrameAnalyticsResponse> DeleteDataFrameAnalyticsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id id, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteDataFrameAnalyticsRequestDescriptor<TDocument>(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteDataFrameAnalyticsRequestDescriptor<TDocument>, DeleteDataFrameAnalyticsResponse, DeleteDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/delete-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteDataFrameAnalyticsResponse> DeleteDataFrameAnalyticsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id id, Action<DeleteDataFrameAnalyticsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteDataFrameAnalyticsRequestDescriptor<TDocument>(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteDataFrameAnalyticsRequestDescriptor<TDocument>, DeleteDataFrameAnalyticsResponse, DeleteDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/delete-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteDataFrameAnalyticsResponse> DeleteDataFrameAnalyticsAsync(DeleteDataFrameAnalyticsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteDataFrameAnalyticsRequestDescriptor, DeleteDataFrameAnalyticsResponse, DeleteDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/delete-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteDataFrameAnalyticsResponse> DeleteDataFrameAnalyticsAsync(Elastic.Clients.Elasticsearch.Serverless.Id id, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteDataFrameAnalyticsRequestDescriptor(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteDataFrameAnalyticsRequestDescriptor, DeleteDataFrameAnalyticsResponse, DeleteDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/delete-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteDataFrameAnalyticsResponse> DeleteDataFrameAnalyticsAsync(Elastic.Clients.Elasticsearch.Serverless.Id id, Action<DeleteDataFrameAnalyticsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteDataFrameAnalyticsRequestDescriptor(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteDataFrameAnalyticsRequestDescriptor, DeleteDataFrameAnalyticsResponse, DeleteDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes expired and unused machine learning data.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-expired-data.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteExpiredDataResponse> DeleteExpiredDataAsync(DeleteExpiredDataRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<DeleteExpiredDataRequest, DeleteExpiredDataResponse, DeleteExpiredDataRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes expired and unused machine learning data.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-expired-data.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteExpiredDataResponse> DeleteExpiredDataAsync(DeleteExpiredDataRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteExpiredDataRequestDescriptor, DeleteExpiredDataResponse, DeleteExpiredDataRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes expired and unused machine learning data.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-expired-data.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteExpiredDataResponse> DeleteExpiredDataAsync(Elastic.Clients.Elasticsearch.Serverless.Id? jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteExpiredDataRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteExpiredDataRequestDescriptor, DeleteExpiredDataResponse, DeleteExpiredDataRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes expired and unused machine learning data.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-expired-data.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteExpiredDataResponse> DeleteExpiredDataAsync(Elastic.Clients.Elasticsearch.Serverless.Id? jobId, Action<DeleteExpiredDataRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteExpiredDataRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteExpiredDataRequestDescriptor, DeleteExpiredDataResponse, DeleteExpiredDataRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes expired and unused machine learning data.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-expired-data.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteExpiredDataResponse> DeleteExpiredDataAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteExpiredDataRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteExpiredDataRequestDescriptor, DeleteExpiredDataResponse, DeleteExpiredDataRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes expired and unused machine learning data.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-expired-data.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteExpiredDataResponse> DeleteExpiredDataAsync(Action<DeleteExpiredDataRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteExpiredDataRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteExpiredDataRequestDescriptor, DeleteExpiredDataResponse, DeleteExpiredDataRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes a filter.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteFilterResponse> DeleteFilterAsync(DeleteFilterRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<DeleteFilterRequest, DeleteFilterResponse, DeleteFilterRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes a filter.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteFilterResponse> DeleteFilterAsync(DeleteFilterRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteFilterRequestDescriptor, DeleteFilterResponse, DeleteFilterRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes a filter.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteFilterResponse> DeleteFilterAsync(Elastic.Clients.Elasticsearch.Serverless.Id filterId, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteFilterRequestDescriptor(filterId);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteFilterRequestDescriptor, DeleteFilterResponse, DeleteFilterRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes a filter.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteFilterResponse> DeleteFilterAsync(Elastic.Clients.Elasticsearch.Serverless.Id filterId, Action<DeleteFilterRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteFilterRequestDescriptor(filterId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteFilterRequestDescriptor, DeleteFilterResponse, DeleteFilterRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes forecasts from a machine learning job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-forecast.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteForecastResponse> DeleteForecastAsync(DeleteForecastRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<DeleteForecastRequest, DeleteForecastResponse, DeleteForecastRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes forecasts from a machine learning job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-forecast.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteForecastResponse> DeleteForecastAsync(DeleteForecastRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteForecastRequestDescriptor, DeleteForecastResponse, DeleteForecastRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes forecasts from a machine learning job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-forecast.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteForecastResponse> DeleteForecastAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Elastic.Clients.Elasticsearch.Serverless.Id? forecastId, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteForecastRequestDescriptor(jobId, forecastId);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteForecastRequestDescriptor, DeleteForecastResponse, DeleteForecastRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes forecasts from a machine learning job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-forecast.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteForecastResponse> DeleteForecastAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Elastic.Clients.Elasticsearch.Serverless.Id? forecastId, Action<DeleteForecastRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteForecastRequestDescriptor(jobId, forecastId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteForecastRequestDescriptor, DeleteForecastResponse, DeleteForecastRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes forecasts from a machine learning job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-forecast.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteForecastResponse> DeleteForecastAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteForecastRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteForecastRequestDescriptor, DeleteForecastResponse, DeleteForecastRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes forecasts from a machine learning job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-forecast.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteForecastResponse> DeleteForecastAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<DeleteForecastRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteForecastRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteForecastRequestDescriptor, DeleteForecastResponse, DeleteForecastRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteJobResponse> DeleteJobAsync(DeleteJobRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<DeleteJobRequest, DeleteJobResponse, DeleteJobRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteJobResponse> DeleteJobAsync(DeleteJobRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteJobRequestDescriptor, DeleteJobResponse, DeleteJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteJobResponse> DeleteJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteJobRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteJobRequestDescriptor, DeleteJobResponse, DeleteJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteJobResponse> DeleteJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<DeleteJobRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteJobRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteJobRequestDescriptor, DeleteJobResponse, DeleteJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing model snapshot.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteModelSnapshotResponse> DeleteModelSnapshotAsync(DeleteModelSnapshotRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<DeleteModelSnapshotRequest, DeleteModelSnapshotResponse, DeleteModelSnapshotRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing model snapshot.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteModelSnapshotResponse> DeleteModelSnapshotAsync(DeleteModelSnapshotRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteModelSnapshotRequestDescriptor, DeleteModelSnapshotResponse, DeleteModelSnapshotRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing model snapshot.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteModelSnapshotResponse> DeleteModelSnapshotAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Elastic.Clients.Elasticsearch.Serverless.Id snapshotId, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteModelSnapshotRequestDescriptor(jobId, snapshotId);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteModelSnapshotRequestDescriptor, DeleteModelSnapshotResponse, DeleteModelSnapshotRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing model snapshot.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-delete-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteModelSnapshotResponse> DeleteModelSnapshotAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Elastic.Clients.Elasticsearch.Serverless.Id snapshotId, Action<DeleteModelSnapshotRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteModelSnapshotRequestDescriptor(jobId, snapshotId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteModelSnapshotRequestDescriptor, DeleteModelSnapshotResponse, DeleteModelSnapshotRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing trained inference model that is currently not referenced by an ingest pipeline.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-trained-models.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteTrainedModelResponse> DeleteTrainedModelAsync(DeleteTrainedModelRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<DeleteTrainedModelRequest, DeleteTrainedModelResponse, DeleteTrainedModelRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing trained inference model that is currently not referenced by an ingest pipeline.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-trained-models.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteTrainedModelResponse> DeleteTrainedModelAsync(DeleteTrainedModelRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteTrainedModelRequestDescriptor, DeleteTrainedModelResponse, DeleteTrainedModelRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing trained inference model that is currently not referenced by an ingest pipeline.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-trained-models.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteTrainedModelResponse> DeleteTrainedModelAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteTrainedModelRequestDescriptor(modelId);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteTrainedModelRequestDescriptor, DeleteTrainedModelResponse, DeleteTrainedModelRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes an existing trained inference model that is currently not referenced by an ingest pipeline.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-trained-models.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteTrainedModelResponse> DeleteTrainedModelAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, Action<DeleteTrainedModelRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteTrainedModelRequestDescriptor(modelId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteTrainedModelRequestDescriptor, DeleteTrainedModelResponse, DeleteTrainedModelRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes a model alias that refers to the trained model</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-trained-models-aliases.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteTrainedModelAliasResponse> DeleteTrainedModelAliasAsync(DeleteTrainedModelAliasRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<DeleteTrainedModelAliasRequest, DeleteTrainedModelAliasResponse, DeleteTrainedModelAliasRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes a model alias that refers to the trained model</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-trained-models-aliases.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteTrainedModelAliasResponse> DeleteTrainedModelAliasAsync(DeleteTrainedModelAliasRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteTrainedModelAliasRequestDescriptor, DeleteTrainedModelAliasResponse, DeleteTrainedModelAliasRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes a model alias that refers to the trained model</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-trained-models-aliases.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteTrainedModelAliasResponse> DeleteTrainedModelAliasAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, Elastic.Clients.Elasticsearch.Serverless.Name modelAlias, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteTrainedModelAliasRequestDescriptor(modelId, modelAlias);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteTrainedModelAliasRequestDescriptor, DeleteTrainedModelAliasResponse, DeleteTrainedModelAliasRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Deletes a model alias that refers to the trained model</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-trained-models-aliases.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<DeleteTrainedModelAliasResponse> DeleteTrainedModelAliasAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, Elastic.Clients.Elasticsearch.Serverless.Name modelAlias, Action<DeleteTrainedModelAliasRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new DeleteTrainedModelAliasRequestDescriptor(modelId, modelAlias);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<DeleteTrainedModelAliasRequestDescriptor, DeleteTrainedModelAliasResponse, DeleteTrainedModelAliasRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Estimates the model memory</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-apis.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<EstimateModelMemoryResponse> EstimateModelMemoryAsync(EstimateModelMemoryRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<EstimateModelMemoryRequest, EstimateModelMemoryResponse, EstimateModelMemoryRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Estimates the model memory</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-apis.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<EstimateModelMemoryResponse> EstimateModelMemoryAsync<TDocument>(EstimateModelMemoryRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<EstimateModelMemoryRequestDescriptor<TDocument>, EstimateModelMemoryResponse, EstimateModelMemoryRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Estimates the model memory</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-apis.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<EstimateModelMemoryResponse> EstimateModelMemoryAsync<TDocument>(CancellationToken cancellationToken = default)
	{
		var descriptor = new EstimateModelMemoryRequestDescriptor<TDocument>();
		descriptor.BeforeRequest();
		return DoRequestAsync<EstimateModelMemoryRequestDescriptor<TDocument>, EstimateModelMemoryResponse, EstimateModelMemoryRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Estimates the model memory</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-apis.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<EstimateModelMemoryResponse> EstimateModelMemoryAsync<TDocument>(Action<EstimateModelMemoryRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new EstimateModelMemoryRequestDescriptor<TDocument>();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<EstimateModelMemoryRequestDescriptor<TDocument>, EstimateModelMemoryResponse, EstimateModelMemoryRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Estimates the model memory</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-apis.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<EstimateModelMemoryResponse> EstimateModelMemoryAsync(EstimateModelMemoryRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<EstimateModelMemoryRequestDescriptor, EstimateModelMemoryResponse, EstimateModelMemoryRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Estimates the model memory</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-apis.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<EstimateModelMemoryResponse> EstimateModelMemoryAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new EstimateModelMemoryRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<EstimateModelMemoryRequestDescriptor, EstimateModelMemoryResponse, EstimateModelMemoryRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Estimates the model memory</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-apis.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<EstimateModelMemoryResponse> EstimateModelMemoryAsync(Action<EstimateModelMemoryRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new EstimateModelMemoryRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<EstimateModelMemoryRequestDescriptor, EstimateModelMemoryResponse, EstimateModelMemoryRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Evaluates the data frame analytics for an annotated index.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/evaluate-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<EvaluateDataFrameResponse> EvaluateDataFrameAsync(EvaluateDataFrameRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<EvaluateDataFrameRequest, EvaluateDataFrameResponse, EvaluateDataFrameRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Evaluates the data frame analytics for an annotated index.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/evaluate-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<EvaluateDataFrameResponse> EvaluateDataFrameAsync<TDocument>(EvaluateDataFrameRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<EvaluateDataFrameRequestDescriptor<TDocument>, EvaluateDataFrameResponse, EvaluateDataFrameRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Evaluates the data frame analytics for an annotated index.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/evaluate-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<EvaluateDataFrameResponse> EvaluateDataFrameAsync<TDocument>(CancellationToken cancellationToken = default)
	{
		var descriptor = new EvaluateDataFrameRequestDescriptor<TDocument>();
		descriptor.BeforeRequest();
		return DoRequestAsync<EvaluateDataFrameRequestDescriptor<TDocument>, EvaluateDataFrameResponse, EvaluateDataFrameRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Evaluates the data frame analytics for an annotated index.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/evaluate-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<EvaluateDataFrameResponse> EvaluateDataFrameAsync<TDocument>(Action<EvaluateDataFrameRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new EvaluateDataFrameRequestDescriptor<TDocument>();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<EvaluateDataFrameRequestDescriptor<TDocument>, EvaluateDataFrameResponse, EvaluateDataFrameRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Evaluates the data frame analytics for an annotated index.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/evaluate-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<EvaluateDataFrameResponse> EvaluateDataFrameAsync(EvaluateDataFrameRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<EvaluateDataFrameRequestDescriptor, EvaluateDataFrameResponse, EvaluateDataFrameRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Evaluates the data frame analytics for an annotated index.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/evaluate-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<EvaluateDataFrameResponse> EvaluateDataFrameAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new EvaluateDataFrameRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<EvaluateDataFrameRequestDescriptor, EvaluateDataFrameResponse, EvaluateDataFrameRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Evaluates the data frame analytics for an annotated index.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/evaluate-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<EvaluateDataFrameResponse> EvaluateDataFrameAsync(Action<EvaluateDataFrameRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new EvaluateDataFrameRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<EvaluateDataFrameRequestDescriptor, EvaluateDataFrameResponse, EvaluateDataFrameRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Explains a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/explain-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ExplainDataFrameAnalyticsResponse> ExplainDataFrameAnalyticsAsync(ExplainDataFrameAnalyticsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<ExplainDataFrameAnalyticsRequest, ExplainDataFrameAnalyticsResponse, ExplainDataFrameAnalyticsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Explains a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/explain-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ExplainDataFrameAnalyticsResponse> ExplainDataFrameAnalyticsAsync<TDocument>(ExplainDataFrameAnalyticsRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<ExplainDataFrameAnalyticsRequestDescriptor<TDocument>, ExplainDataFrameAnalyticsResponse, ExplainDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Explains a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/explain-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ExplainDataFrameAnalyticsResponse> ExplainDataFrameAnalyticsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id? id, CancellationToken cancellationToken = default)
	{
		var descriptor = new ExplainDataFrameAnalyticsRequestDescriptor<TDocument>(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<ExplainDataFrameAnalyticsRequestDescriptor<TDocument>, ExplainDataFrameAnalyticsResponse, ExplainDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Explains a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/explain-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ExplainDataFrameAnalyticsResponse> ExplainDataFrameAnalyticsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id? id, Action<ExplainDataFrameAnalyticsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new ExplainDataFrameAnalyticsRequestDescriptor<TDocument>(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<ExplainDataFrameAnalyticsRequestDescriptor<TDocument>, ExplainDataFrameAnalyticsResponse, ExplainDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Explains a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/explain-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ExplainDataFrameAnalyticsResponse> ExplainDataFrameAnalyticsAsync<TDocument>(CancellationToken cancellationToken = default)
	{
		var descriptor = new ExplainDataFrameAnalyticsRequestDescriptor<TDocument>();
		descriptor.BeforeRequest();
		return DoRequestAsync<ExplainDataFrameAnalyticsRequestDescriptor<TDocument>, ExplainDataFrameAnalyticsResponse, ExplainDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Explains a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/explain-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ExplainDataFrameAnalyticsResponse> ExplainDataFrameAnalyticsAsync<TDocument>(Action<ExplainDataFrameAnalyticsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new ExplainDataFrameAnalyticsRequestDescriptor<TDocument>();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<ExplainDataFrameAnalyticsRequestDescriptor<TDocument>, ExplainDataFrameAnalyticsResponse, ExplainDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Explains a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/explain-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ExplainDataFrameAnalyticsResponse> ExplainDataFrameAnalyticsAsync(ExplainDataFrameAnalyticsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<ExplainDataFrameAnalyticsRequestDescriptor, ExplainDataFrameAnalyticsResponse, ExplainDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Explains a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/explain-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ExplainDataFrameAnalyticsResponse> ExplainDataFrameAnalyticsAsync(Elastic.Clients.Elasticsearch.Serverless.Id? id, CancellationToken cancellationToken = default)
	{
		var descriptor = new ExplainDataFrameAnalyticsRequestDescriptor(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<ExplainDataFrameAnalyticsRequestDescriptor, ExplainDataFrameAnalyticsResponse, ExplainDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Explains a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/explain-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ExplainDataFrameAnalyticsResponse> ExplainDataFrameAnalyticsAsync(Elastic.Clients.Elasticsearch.Serverless.Id? id, Action<ExplainDataFrameAnalyticsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new ExplainDataFrameAnalyticsRequestDescriptor(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<ExplainDataFrameAnalyticsRequestDescriptor, ExplainDataFrameAnalyticsResponse, ExplainDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Explains a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/explain-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ExplainDataFrameAnalyticsResponse> ExplainDataFrameAnalyticsAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new ExplainDataFrameAnalyticsRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<ExplainDataFrameAnalyticsRequestDescriptor, ExplainDataFrameAnalyticsResponse, ExplainDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Explains a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/explain-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ExplainDataFrameAnalyticsResponse> ExplainDataFrameAnalyticsAsync(Action<ExplainDataFrameAnalyticsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new ExplainDataFrameAnalyticsRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<ExplainDataFrameAnalyticsRequestDescriptor, ExplainDataFrameAnalyticsResponse, ExplainDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Forces any buffered data to be processed by the job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-flush-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<FlushJobResponse> FlushJobAsync(FlushJobRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<FlushJobRequest, FlushJobResponse, FlushJobRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Forces any buffered data to be processed by the job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-flush-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<FlushJobResponse> FlushJobAsync(FlushJobRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<FlushJobRequestDescriptor, FlushJobResponse, FlushJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Forces any buffered data to be processed by the job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-flush-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<FlushJobResponse> FlushJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new FlushJobRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<FlushJobRequestDescriptor, FlushJobResponse, FlushJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Forces any buffered data to be processed by the job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-flush-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<FlushJobResponse> FlushJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<FlushJobRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new FlushJobRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<FlushJobRequestDescriptor, FlushJobResponse, FlushJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Predicts the future behavior of a time series by using its historical behavior.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-forecast.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ForecastResponse> ForecastAsync(ForecastRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<ForecastRequest, ForecastResponse, ForecastRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Predicts the future behavior of a time series by using its historical behavior.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-forecast.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ForecastResponse> ForecastAsync(ForecastRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<ForecastRequestDescriptor, ForecastResponse, ForecastRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Predicts the future behavior of a time series by using its historical behavior.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-forecast.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ForecastResponse> ForecastAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new ForecastRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<ForecastRequestDescriptor, ForecastResponse, ForecastRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Predicts the future behavior of a time series by using its historical behavior.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-forecast.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ForecastResponse> ForecastAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<ForecastRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new ForecastRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<ForecastRequestDescriptor, ForecastResponse, ForecastRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more buckets.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-bucket.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetBucketsResponse> GetBucketsAsync(GetBucketsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetBucketsRequest, GetBucketsResponse, GetBucketsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more buckets.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-bucket.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetBucketsResponse> GetBucketsAsync<TDocument>(GetBucketsRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetBucketsRequestDescriptor<TDocument>, GetBucketsResponse, GetBucketsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more buckets.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-bucket.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetBucketsResponse> GetBucketsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id jobId, DateTimeOffset? timestamp, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetBucketsRequestDescriptor<TDocument>(jobId, timestamp);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetBucketsRequestDescriptor<TDocument>, GetBucketsResponse, GetBucketsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more buckets.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-bucket.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetBucketsResponse> GetBucketsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id jobId, DateTimeOffset? timestamp, Action<GetBucketsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetBucketsRequestDescriptor<TDocument>(jobId, timestamp);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetBucketsRequestDescriptor<TDocument>, GetBucketsResponse, GetBucketsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more buckets.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-bucket.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetBucketsResponse> GetBucketsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetBucketsRequestDescriptor<TDocument>(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetBucketsRequestDescriptor<TDocument>, GetBucketsResponse, GetBucketsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more buckets.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-bucket.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetBucketsResponse> GetBucketsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<GetBucketsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetBucketsRequestDescriptor<TDocument>(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetBucketsRequestDescriptor<TDocument>, GetBucketsResponse, GetBucketsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more buckets.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-bucket.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetBucketsResponse> GetBucketsAsync(GetBucketsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetBucketsRequestDescriptor, GetBucketsResponse, GetBucketsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more buckets.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-bucket.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetBucketsResponse> GetBucketsAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, DateTimeOffset? timestamp, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetBucketsRequestDescriptor(jobId, timestamp);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetBucketsRequestDescriptor, GetBucketsResponse, GetBucketsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more buckets.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-bucket.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetBucketsResponse> GetBucketsAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, DateTimeOffset? timestamp, Action<GetBucketsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetBucketsRequestDescriptor(jobId, timestamp);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetBucketsRequestDescriptor, GetBucketsResponse, GetBucketsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more buckets.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-bucket.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetBucketsResponse> GetBucketsAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetBucketsRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetBucketsRequestDescriptor, GetBucketsResponse, GetBucketsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more buckets.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-bucket.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetBucketsResponse> GetBucketsAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<GetBucketsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetBucketsRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetBucketsRequestDescriptor, GetBucketsResponse, GetBucketsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves information about the scheduled events in calendars.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-calendar-event.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetCalendarEventsResponse> GetCalendarEventsAsync(GetCalendarEventsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetCalendarEventsRequest, GetCalendarEventsResponse, GetCalendarEventsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves information about the scheduled events in calendars.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-calendar-event.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetCalendarEventsResponse> GetCalendarEventsAsync(GetCalendarEventsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetCalendarEventsRequestDescriptor, GetCalendarEventsResponse, GetCalendarEventsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves information about the scheduled events in calendars.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-calendar-event.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetCalendarEventsResponse> GetCalendarEventsAsync(Elastic.Clients.Elasticsearch.Serverless.Id calendarId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetCalendarEventsRequestDescriptor(calendarId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetCalendarEventsRequestDescriptor, GetCalendarEventsResponse, GetCalendarEventsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves information about the scheduled events in calendars.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-calendar-event.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetCalendarEventsResponse> GetCalendarEventsAsync(Elastic.Clients.Elasticsearch.Serverless.Id calendarId, Action<GetCalendarEventsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetCalendarEventsRequestDescriptor(calendarId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetCalendarEventsRequestDescriptor, GetCalendarEventsResponse, GetCalendarEventsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for calendars.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-calendar.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetCalendarsResponse> GetCalendarsAsync(GetCalendarsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetCalendarsRequest, GetCalendarsResponse, GetCalendarsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for calendars.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-calendar.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetCalendarsResponse> GetCalendarsAsync(GetCalendarsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetCalendarsRequestDescriptor, GetCalendarsResponse, GetCalendarsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for calendars.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-calendar.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetCalendarsResponse> GetCalendarsAsync(Elastic.Clients.Elasticsearch.Serverless.Id? calendarId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetCalendarsRequestDescriptor(calendarId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetCalendarsRequestDescriptor, GetCalendarsResponse, GetCalendarsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for calendars.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-calendar.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetCalendarsResponse> GetCalendarsAsync(Elastic.Clients.Elasticsearch.Serverless.Id? calendarId, Action<GetCalendarsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetCalendarsRequestDescriptor(calendarId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetCalendarsRequestDescriptor, GetCalendarsResponse, GetCalendarsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for calendars.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-calendar.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetCalendarsResponse> GetCalendarsAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new GetCalendarsRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<GetCalendarsRequestDescriptor, GetCalendarsResponse, GetCalendarsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for calendars.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-calendar.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetCalendarsResponse> GetCalendarsAsync(Action<GetCalendarsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetCalendarsRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetCalendarsRequestDescriptor, GetCalendarsResponse, GetCalendarsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more categories.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-category.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetCategoriesResponse> GetCategoriesAsync(GetCategoriesRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetCategoriesRequest, GetCategoriesResponse, GetCategoriesRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more categories.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-category.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetCategoriesResponse> GetCategoriesAsync(GetCategoriesRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetCategoriesRequestDescriptor, GetCategoriesResponse, GetCategoriesRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more categories.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-category.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetCategoriesResponse> GetCategoriesAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, string? categoryId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetCategoriesRequestDescriptor(jobId, categoryId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetCategoriesRequestDescriptor, GetCategoriesResponse, GetCategoriesRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more categories.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-category.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetCategoriesResponse> GetCategoriesAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, string? categoryId, Action<GetCategoriesRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetCategoriesRequestDescriptor(jobId, categoryId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetCategoriesRequestDescriptor, GetCategoriesResponse, GetCategoriesRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more categories.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-category.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetCategoriesResponse> GetCategoriesAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetCategoriesRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetCategoriesRequestDescriptor, GetCategoriesResponse, GetCategoriesRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more categories.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-category.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetCategoriesResponse> GetCategoriesAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<GetCategoriesRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetCategoriesRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetCategoriesRequestDescriptor, GetCategoriesResponse, GetCategoriesRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDatafeedsResponse> GetDatafeedsAsync(GetDatafeedsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetDatafeedsRequest, GetDatafeedsResponse, GetDatafeedsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDatafeedsResponse> GetDatafeedsAsync(GetDatafeedsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDatafeedsRequestDescriptor, GetDatafeedsResponse, GetDatafeedsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDatafeedsResponse> GetDatafeedsAsync(Elastic.Clients.Elasticsearch.Serverless.Ids? datafeedId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDatafeedsRequestDescriptor(datafeedId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDatafeedsRequestDescriptor, GetDatafeedsResponse, GetDatafeedsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDatafeedsResponse> GetDatafeedsAsync(Elastic.Clients.Elasticsearch.Serverless.Ids? datafeedId, Action<GetDatafeedsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDatafeedsRequestDescriptor(datafeedId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDatafeedsRequestDescriptor, GetDatafeedsResponse, GetDatafeedsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDatafeedsResponse> GetDatafeedsAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDatafeedsRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDatafeedsRequestDescriptor, GetDatafeedsResponse, GetDatafeedsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDatafeedsResponse> GetDatafeedsAsync(Action<GetDatafeedsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDatafeedsRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDatafeedsRequestDescriptor, GetDatafeedsResponse, GetDatafeedsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-datafeed-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDatafeedStatsResponse> GetDatafeedStatsAsync(GetDatafeedStatsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetDatafeedStatsRequest, GetDatafeedStatsResponse, GetDatafeedStatsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-datafeed-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDatafeedStatsResponse> GetDatafeedStatsAsync(GetDatafeedStatsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDatafeedStatsRequestDescriptor, GetDatafeedStatsResponse, GetDatafeedStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-datafeed-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDatafeedStatsResponse> GetDatafeedStatsAsync(Elastic.Clients.Elasticsearch.Serverless.Ids? datafeedId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDatafeedStatsRequestDescriptor(datafeedId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDatafeedStatsRequestDescriptor, GetDatafeedStatsResponse, GetDatafeedStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-datafeed-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDatafeedStatsResponse> GetDatafeedStatsAsync(Elastic.Clients.Elasticsearch.Serverless.Ids? datafeedId, Action<GetDatafeedStatsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDatafeedStatsRequestDescriptor(datafeedId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDatafeedStatsRequestDescriptor, GetDatafeedStatsResponse, GetDatafeedStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-datafeed-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDatafeedStatsResponse> GetDatafeedStatsAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDatafeedStatsRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDatafeedStatsRequestDescriptor, GetDatafeedStatsResponse, GetDatafeedStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-datafeed-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDatafeedStatsResponse> GetDatafeedStatsAsync(Action<GetDatafeedStatsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDatafeedStatsRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDatafeedStatsRequestDescriptor, GetDatafeedStatsResponse, GetDatafeedStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsResponse> GetDataFrameAnalyticsAsync(GetDataFrameAnalyticsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsRequest, GetDataFrameAnalyticsResponse, GetDataFrameAnalyticsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsResponse> GetDataFrameAnalyticsAsync<TDocument>(GetDataFrameAnalyticsRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsRequestDescriptor<TDocument>, GetDataFrameAnalyticsResponse, GetDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsResponse> GetDataFrameAnalyticsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id? id, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDataFrameAnalyticsRequestDescriptor<TDocument>(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsRequestDescriptor<TDocument>, GetDataFrameAnalyticsResponse, GetDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsResponse> GetDataFrameAnalyticsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id? id, Action<GetDataFrameAnalyticsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDataFrameAnalyticsRequestDescriptor<TDocument>(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsRequestDescriptor<TDocument>, GetDataFrameAnalyticsResponse, GetDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsResponse> GetDataFrameAnalyticsAsync<TDocument>(CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDataFrameAnalyticsRequestDescriptor<TDocument>();
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsRequestDescriptor<TDocument>, GetDataFrameAnalyticsResponse, GetDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsResponse> GetDataFrameAnalyticsAsync<TDocument>(Action<GetDataFrameAnalyticsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDataFrameAnalyticsRequestDescriptor<TDocument>();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsRequestDescriptor<TDocument>, GetDataFrameAnalyticsResponse, GetDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsResponse> GetDataFrameAnalyticsAsync(GetDataFrameAnalyticsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsRequestDescriptor, GetDataFrameAnalyticsResponse, GetDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsResponse> GetDataFrameAnalyticsAsync(Elastic.Clients.Elasticsearch.Serverless.Id? id, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDataFrameAnalyticsRequestDescriptor(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsRequestDescriptor, GetDataFrameAnalyticsResponse, GetDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsResponse> GetDataFrameAnalyticsAsync(Elastic.Clients.Elasticsearch.Serverless.Id? id, Action<GetDataFrameAnalyticsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDataFrameAnalyticsRequestDescriptor(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsRequestDescriptor, GetDataFrameAnalyticsResponse, GetDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsResponse> GetDataFrameAnalyticsAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDataFrameAnalyticsRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsRequestDescriptor, GetDataFrameAnalyticsResponse, GetDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsResponse> GetDataFrameAnalyticsAsync(Action<GetDataFrameAnalyticsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDataFrameAnalyticsRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsRequestDescriptor, GetDataFrameAnalyticsResponse, GetDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsStatsResponse> GetDataFrameAnalyticsStatsAsync(GetDataFrameAnalyticsStatsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsStatsRequest, GetDataFrameAnalyticsStatsResponse, GetDataFrameAnalyticsStatsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsStatsResponse> GetDataFrameAnalyticsStatsAsync<TDocument>(GetDataFrameAnalyticsStatsRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsStatsRequestDescriptor<TDocument>, GetDataFrameAnalyticsStatsResponse, GetDataFrameAnalyticsStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsStatsResponse> GetDataFrameAnalyticsStatsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id? id, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDataFrameAnalyticsStatsRequestDescriptor<TDocument>(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsStatsRequestDescriptor<TDocument>, GetDataFrameAnalyticsStatsResponse, GetDataFrameAnalyticsStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsStatsResponse> GetDataFrameAnalyticsStatsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id? id, Action<GetDataFrameAnalyticsStatsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDataFrameAnalyticsStatsRequestDescriptor<TDocument>(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsStatsRequestDescriptor<TDocument>, GetDataFrameAnalyticsStatsResponse, GetDataFrameAnalyticsStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsStatsResponse> GetDataFrameAnalyticsStatsAsync<TDocument>(CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDataFrameAnalyticsStatsRequestDescriptor<TDocument>();
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsStatsRequestDescriptor<TDocument>, GetDataFrameAnalyticsStatsResponse, GetDataFrameAnalyticsStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsStatsResponse> GetDataFrameAnalyticsStatsAsync<TDocument>(Action<GetDataFrameAnalyticsStatsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDataFrameAnalyticsStatsRequestDescriptor<TDocument>();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsStatsRequestDescriptor<TDocument>, GetDataFrameAnalyticsStatsResponse, GetDataFrameAnalyticsStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsStatsResponse> GetDataFrameAnalyticsStatsAsync(GetDataFrameAnalyticsStatsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsStatsRequestDescriptor, GetDataFrameAnalyticsStatsResponse, GetDataFrameAnalyticsStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsStatsResponse> GetDataFrameAnalyticsStatsAsync(Elastic.Clients.Elasticsearch.Serverless.Id? id, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDataFrameAnalyticsStatsRequestDescriptor(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsStatsRequestDescriptor, GetDataFrameAnalyticsStatsResponse, GetDataFrameAnalyticsStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsStatsResponse> GetDataFrameAnalyticsStatsAsync(Elastic.Clients.Elasticsearch.Serverless.Id? id, Action<GetDataFrameAnalyticsStatsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDataFrameAnalyticsStatsRequestDescriptor(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsStatsRequestDescriptor, GetDataFrameAnalyticsStatsResponse, GetDataFrameAnalyticsStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsStatsResponse> GetDataFrameAnalyticsStatsAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDataFrameAnalyticsStatsRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsStatsRequestDescriptor, GetDataFrameAnalyticsStatsResponse, GetDataFrameAnalyticsStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-dfanalytics-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetDataFrameAnalyticsStatsResponse> GetDataFrameAnalyticsStatsAsync(Action<GetDataFrameAnalyticsStatsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetDataFrameAnalyticsStatsRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetDataFrameAnalyticsStatsRequestDescriptor, GetDataFrameAnalyticsStatsResponse, GetDataFrameAnalyticsStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves filters.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetFiltersResponse> GetFiltersAsync(GetFiltersRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetFiltersRequest, GetFiltersResponse, GetFiltersRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves filters.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetFiltersResponse> GetFiltersAsync(GetFiltersRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetFiltersRequestDescriptor, GetFiltersResponse, GetFiltersRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves filters.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetFiltersResponse> GetFiltersAsync(Elastic.Clients.Elasticsearch.Serverless.Ids? filterId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetFiltersRequestDescriptor(filterId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetFiltersRequestDescriptor, GetFiltersResponse, GetFiltersRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves filters.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetFiltersResponse> GetFiltersAsync(Elastic.Clients.Elasticsearch.Serverless.Ids? filterId, Action<GetFiltersRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetFiltersRequestDescriptor(filterId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetFiltersRequestDescriptor, GetFiltersResponse, GetFiltersRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves filters.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetFiltersResponse> GetFiltersAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new GetFiltersRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<GetFiltersRequestDescriptor, GetFiltersResponse, GetFiltersRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves filters.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetFiltersResponse> GetFiltersAsync(Action<GetFiltersRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetFiltersRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetFiltersRequestDescriptor, GetFiltersResponse, GetFiltersRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more influencers.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-influencer.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetInfluencersResponse> GetInfluencersAsync(GetInfluencersRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetInfluencersRequest, GetInfluencersResponse, GetInfluencersRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more influencers.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-influencer.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetInfluencersResponse> GetInfluencersAsync<TDocument>(GetInfluencersRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetInfluencersRequestDescriptor<TDocument>, GetInfluencersResponse, GetInfluencersRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more influencers.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-influencer.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetInfluencersResponse> GetInfluencersAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetInfluencersRequestDescriptor<TDocument>(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetInfluencersRequestDescriptor<TDocument>, GetInfluencersResponse, GetInfluencersRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more influencers.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-influencer.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetInfluencersResponse> GetInfluencersAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<GetInfluencersRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetInfluencersRequestDescriptor<TDocument>(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetInfluencersRequestDescriptor<TDocument>, GetInfluencersResponse, GetInfluencersRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more influencers.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-influencer.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetInfluencersResponse> GetInfluencersAsync(GetInfluencersRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetInfluencersRequestDescriptor, GetInfluencersResponse, GetInfluencersRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more influencers.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-influencer.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetInfluencersResponse> GetInfluencersAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetInfluencersRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetInfluencersRequestDescriptor, GetInfluencersResponse, GetInfluencersRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly detection job results for one or more influencers.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-influencer.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetInfluencersResponse> GetInfluencersAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<GetInfluencersRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetInfluencersRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetInfluencersRequestDescriptor, GetInfluencersResponse, GetInfluencersRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetJobsResponse> GetJobsAsync(GetJobsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetJobsRequest, GetJobsResponse, GetJobsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetJobsResponse> GetJobsAsync(GetJobsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetJobsRequestDescriptor, GetJobsResponse, GetJobsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetJobsResponse> GetJobsAsync(Elastic.Clients.Elasticsearch.Serverless.Ids? jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetJobsRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetJobsRequestDescriptor, GetJobsResponse, GetJobsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetJobsResponse> GetJobsAsync(Elastic.Clients.Elasticsearch.Serverless.Ids? jobId, Action<GetJobsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetJobsRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetJobsRequestDescriptor, GetJobsResponse, GetJobsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetJobsResponse> GetJobsAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new GetJobsRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<GetJobsRequestDescriptor, GetJobsResponse, GetJobsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetJobsResponse> GetJobsAsync(Action<GetJobsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetJobsRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetJobsRequestDescriptor, GetJobsResponse, GetJobsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetJobStatsResponse> GetJobStatsAsync(GetJobStatsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetJobStatsRequest, GetJobStatsResponse, GetJobStatsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetJobStatsResponse> GetJobStatsAsync(GetJobStatsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetJobStatsRequestDescriptor, GetJobStatsResponse, GetJobStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetJobStatsResponse> GetJobStatsAsync(Elastic.Clients.Elasticsearch.Serverless.Id? jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetJobStatsRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetJobStatsRequestDescriptor, GetJobStatsResponse, GetJobStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetJobStatsResponse> GetJobStatsAsync(Elastic.Clients.Elasticsearch.Serverless.Id? jobId, Action<GetJobStatsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetJobStatsRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetJobStatsRequestDescriptor, GetJobStatsResponse, GetJobStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetJobStatsResponse> GetJobStatsAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new GetJobStatsRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<GetJobStatsRequestDescriptor, GetJobStatsResponse, GetJobStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetJobStatsResponse> GetJobStatsAsync(Action<GetJobStatsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetJobStatsRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetJobStatsRequestDescriptor, GetJobStatsResponse, GetJobStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Returns information on how ML is using memory.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-ml-memory.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetMemoryStatsResponse> GetMemoryStatsAsync(GetMemoryStatsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetMemoryStatsRequest, GetMemoryStatsResponse, GetMemoryStatsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Returns information on how ML is using memory.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-ml-memory.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetMemoryStatsResponse> GetMemoryStatsAsync(GetMemoryStatsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetMemoryStatsRequestDescriptor, GetMemoryStatsResponse, GetMemoryStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Returns information on how ML is using memory.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-ml-memory.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetMemoryStatsResponse> GetMemoryStatsAsync(Elastic.Clients.Elasticsearch.Serverless.Id? nodeId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetMemoryStatsRequestDescriptor(nodeId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetMemoryStatsRequestDescriptor, GetMemoryStatsResponse, GetMemoryStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Returns information on how ML is using memory.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-ml-memory.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetMemoryStatsResponse> GetMemoryStatsAsync(Elastic.Clients.Elasticsearch.Serverless.Id? nodeId, Action<GetMemoryStatsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetMemoryStatsRequestDescriptor(nodeId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetMemoryStatsRequestDescriptor, GetMemoryStatsResponse, GetMemoryStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Returns information on how ML is using memory.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-ml-memory.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetMemoryStatsResponse> GetMemoryStatsAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new GetMemoryStatsRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<GetMemoryStatsRequestDescriptor, GetMemoryStatsResponse, GetMemoryStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Returns information on how ML is using memory.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-ml-memory.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetMemoryStatsResponse> GetMemoryStatsAsync(Action<GetMemoryStatsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetMemoryStatsRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetMemoryStatsRequestDescriptor, GetMemoryStatsResponse, GetMemoryStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves information about model snapshots.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetModelSnapshotsResponse> GetModelSnapshotsAsync(GetModelSnapshotsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetModelSnapshotsRequest, GetModelSnapshotsResponse, GetModelSnapshotsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves information about model snapshots.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetModelSnapshotsResponse> GetModelSnapshotsAsync<TDocument>(GetModelSnapshotsRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetModelSnapshotsRequestDescriptor<TDocument>, GetModelSnapshotsResponse, GetModelSnapshotsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves information about model snapshots.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetModelSnapshotsResponse> GetModelSnapshotsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Elastic.Clients.Elasticsearch.Serverless.Id? snapshotId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetModelSnapshotsRequestDescriptor<TDocument>(jobId, snapshotId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetModelSnapshotsRequestDescriptor<TDocument>, GetModelSnapshotsResponse, GetModelSnapshotsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves information about model snapshots.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetModelSnapshotsResponse> GetModelSnapshotsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Elastic.Clients.Elasticsearch.Serverless.Id? snapshotId, Action<GetModelSnapshotsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetModelSnapshotsRequestDescriptor<TDocument>(jobId, snapshotId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetModelSnapshotsRequestDescriptor<TDocument>, GetModelSnapshotsResponse, GetModelSnapshotsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves information about model snapshots.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetModelSnapshotsResponse> GetModelSnapshotsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetModelSnapshotsRequestDescriptor<TDocument>(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetModelSnapshotsRequestDescriptor<TDocument>, GetModelSnapshotsResponse, GetModelSnapshotsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves information about model snapshots.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetModelSnapshotsResponse> GetModelSnapshotsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<GetModelSnapshotsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetModelSnapshotsRequestDescriptor<TDocument>(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetModelSnapshotsRequestDescriptor<TDocument>, GetModelSnapshotsResponse, GetModelSnapshotsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves information about model snapshots.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetModelSnapshotsResponse> GetModelSnapshotsAsync(GetModelSnapshotsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetModelSnapshotsRequestDescriptor, GetModelSnapshotsResponse, GetModelSnapshotsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves information about model snapshots.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetModelSnapshotsResponse> GetModelSnapshotsAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Elastic.Clients.Elasticsearch.Serverless.Id? snapshotId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetModelSnapshotsRequestDescriptor(jobId, snapshotId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetModelSnapshotsRequestDescriptor, GetModelSnapshotsResponse, GetModelSnapshotsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves information about model snapshots.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetModelSnapshotsResponse> GetModelSnapshotsAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Elastic.Clients.Elasticsearch.Serverless.Id? snapshotId, Action<GetModelSnapshotsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetModelSnapshotsRequestDescriptor(jobId, snapshotId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetModelSnapshotsRequestDescriptor, GetModelSnapshotsResponse, GetModelSnapshotsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves information about model snapshots.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetModelSnapshotsResponse> GetModelSnapshotsAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetModelSnapshotsRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetModelSnapshotsRequestDescriptor, GetModelSnapshotsResponse, GetModelSnapshotsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves information about model snapshots.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetModelSnapshotsResponse> GetModelSnapshotsAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<GetModelSnapshotsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetModelSnapshotsRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetModelSnapshotsRequestDescriptor, GetModelSnapshotsResponse, GetModelSnapshotsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Gets stats for anomaly detection job model snapshot upgrades that are in progress.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job-model-snapshot-upgrade-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetModelSnapshotUpgradeStatsResponse> GetModelSnapshotUpgradeStatsAsync(GetModelSnapshotUpgradeStatsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetModelSnapshotUpgradeStatsRequest, GetModelSnapshotUpgradeStatsResponse, GetModelSnapshotUpgradeStatsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Gets stats for anomaly detection job model snapshot upgrades that are in progress.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job-model-snapshot-upgrade-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetModelSnapshotUpgradeStatsResponse> GetModelSnapshotUpgradeStatsAsync(GetModelSnapshotUpgradeStatsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetModelSnapshotUpgradeStatsRequestDescriptor, GetModelSnapshotUpgradeStatsResponse, GetModelSnapshotUpgradeStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Gets stats for anomaly detection job model snapshot upgrades that are in progress.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job-model-snapshot-upgrade-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetModelSnapshotUpgradeStatsResponse> GetModelSnapshotUpgradeStatsAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Elastic.Clients.Elasticsearch.Serverless.Id snapshotId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetModelSnapshotUpgradeStatsRequestDescriptor(jobId, snapshotId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetModelSnapshotUpgradeStatsRequestDescriptor, GetModelSnapshotUpgradeStatsResponse, GetModelSnapshotUpgradeStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Gets stats for anomaly detection job model snapshot upgrades that are in progress.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-job-model-snapshot-upgrade-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetModelSnapshotUpgradeStatsResponse> GetModelSnapshotUpgradeStatsAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Elastic.Clients.Elasticsearch.Serverless.Id snapshotId, Action<GetModelSnapshotUpgradeStatsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetModelSnapshotUpgradeStatsRequestDescriptor(jobId, snapshotId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetModelSnapshotUpgradeStatsRequestDescriptor, GetModelSnapshotUpgradeStatsResponse, GetModelSnapshotUpgradeStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves overall bucket results that summarize the bucket results of multiple anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-overall-buckets.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetOverallBucketsResponse> GetOverallBucketsAsync(GetOverallBucketsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetOverallBucketsRequest, GetOverallBucketsResponse, GetOverallBucketsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves overall bucket results that summarize the bucket results of multiple anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-overall-buckets.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetOverallBucketsResponse> GetOverallBucketsAsync(GetOverallBucketsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetOverallBucketsRequestDescriptor, GetOverallBucketsResponse, GetOverallBucketsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves overall bucket results that summarize the bucket results of multiple anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-overall-buckets.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetOverallBucketsResponse> GetOverallBucketsAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetOverallBucketsRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetOverallBucketsRequestDescriptor, GetOverallBucketsResponse, GetOverallBucketsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves overall bucket results that summarize the bucket results of multiple anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-overall-buckets.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetOverallBucketsResponse> GetOverallBucketsAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<GetOverallBucketsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetOverallBucketsRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetOverallBucketsRequestDescriptor, GetOverallBucketsResponse, GetOverallBucketsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly records for an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-record.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetRecordsResponse> GetRecordsAsync(GetRecordsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetRecordsRequest, GetRecordsResponse, GetRecordsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly records for an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-record.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetRecordsResponse> GetRecordsAsync<TDocument>(GetRecordsRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetRecordsRequestDescriptor<TDocument>, GetRecordsResponse, GetRecordsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly records for an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-record.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetRecordsResponse> GetRecordsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetRecordsRequestDescriptor<TDocument>(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetRecordsRequestDescriptor<TDocument>, GetRecordsResponse, GetRecordsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly records for an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-record.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetRecordsResponse> GetRecordsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<GetRecordsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetRecordsRequestDescriptor<TDocument>(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetRecordsRequestDescriptor<TDocument>, GetRecordsResponse, GetRecordsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly records for an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-record.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetRecordsResponse> GetRecordsAsync(GetRecordsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetRecordsRequestDescriptor, GetRecordsResponse, GetRecordsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly records for an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-record.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetRecordsResponse> GetRecordsAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetRecordsRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetRecordsRequestDescriptor, GetRecordsResponse, GetRecordsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves anomaly records for an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-get-record.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetRecordsResponse> GetRecordsAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<GetRecordsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetRecordsRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetRecordsRequestDescriptor, GetRecordsResponse, GetRecordsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for a trained inference model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-trained-models.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetTrainedModelsResponse> GetTrainedModelsAsync(GetTrainedModelsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetTrainedModelsRequest, GetTrainedModelsResponse, GetTrainedModelsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for a trained inference model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-trained-models.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetTrainedModelsResponse> GetTrainedModelsAsync(GetTrainedModelsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetTrainedModelsRequestDescriptor, GetTrainedModelsResponse, GetTrainedModelsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for a trained inference model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-trained-models.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetTrainedModelsResponse> GetTrainedModelsAsync(Elastic.Clients.Elasticsearch.Serverless.Id? modelId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetTrainedModelsRequestDescriptor(modelId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetTrainedModelsRequestDescriptor, GetTrainedModelsResponse, GetTrainedModelsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for a trained inference model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-trained-models.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetTrainedModelsResponse> GetTrainedModelsAsync(Elastic.Clients.Elasticsearch.Serverless.Id? modelId, Action<GetTrainedModelsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetTrainedModelsRequestDescriptor(modelId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetTrainedModelsRequestDescriptor, GetTrainedModelsResponse, GetTrainedModelsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for a trained inference model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-trained-models.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetTrainedModelsResponse> GetTrainedModelsAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new GetTrainedModelsRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<GetTrainedModelsRequestDescriptor, GetTrainedModelsResponse, GetTrainedModelsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves configuration information for a trained inference model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-trained-models.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetTrainedModelsResponse> GetTrainedModelsAsync(Action<GetTrainedModelsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetTrainedModelsRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetTrainedModelsRequestDescriptor, GetTrainedModelsResponse, GetTrainedModelsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for trained inference models.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-trained-models-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetTrainedModelsStatsResponse> GetTrainedModelsStatsAsync(GetTrainedModelsStatsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<GetTrainedModelsStatsRequest, GetTrainedModelsStatsResponse, GetTrainedModelsStatsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for trained inference models.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-trained-models-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetTrainedModelsStatsResponse> GetTrainedModelsStatsAsync(GetTrainedModelsStatsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<GetTrainedModelsStatsRequestDescriptor, GetTrainedModelsStatsResponse, GetTrainedModelsStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for trained inference models.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-trained-models-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetTrainedModelsStatsResponse> GetTrainedModelsStatsAsync(Elastic.Clients.Elasticsearch.Serverless.Ids? modelId, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetTrainedModelsStatsRequestDescriptor(modelId);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetTrainedModelsStatsRequestDescriptor, GetTrainedModelsStatsResponse, GetTrainedModelsStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for trained inference models.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-trained-models-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetTrainedModelsStatsResponse> GetTrainedModelsStatsAsync(Elastic.Clients.Elasticsearch.Serverless.Ids? modelId, Action<GetTrainedModelsStatsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetTrainedModelsStatsRequestDescriptor(modelId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetTrainedModelsStatsRequestDescriptor, GetTrainedModelsStatsResponse, GetTrainedModelsStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for trained inference models.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-trained-models-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetTrainedModelsStatsResponse> GetTrainedModelsStatsAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new GetTrainedModelsStatsRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<GetTrainedModelsStatsRequestDescriptor, GetTrainedModelsStatsResponse, GetTrainedModelsStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Retrieves usage information for trained inference models.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-trained-models-stats.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<GetTrainedModelsStatsResponse> GetTrainedModelsStatsAsync(Action<GetTrainedModelsStatsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new GetTrainedModelsStatsRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<GetTrainedModelsStatsRequestDescriptor, GetTrainedModelsStatsResponse, GetTrainedModelsStatsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Evaluate a trained model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/infer-trained-model.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<InferTrainedModelResponse> InferTrainedModelAsync(InferTrainedModelRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<InferTrainedModelRequest, InferTrainedModelResponse, InferTrainedModelRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Evaluate a trained model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/infer-trained-model.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<InferTrainedModelResponse> InferTrainedModelAsync<TDocument>(InferTrainedModelRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<InferTrainedModelRequestDescriptor<TDocument>, InferTrainedModelResponse, InferTrainedModelRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Evaluate a trained model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/infer-trained-model.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<InferTrainedModelResponse> InferTrainedModelAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id modelId, CancellationToken cancellationToken = default)
	{
		var descriptor = new InferTrainedModelRequestDescriptor<TDocument>(modelId);
		descriptor.BeforeRequest();
		return DoRequestAsync<InferTrainedModelRequestDescriptor<TDocument>, InferTrainedModelResponse, InferTrainedModelRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Evaluate a trained model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/infer-trained-model.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<InferTrainedModelResponse> InferTrainedModelAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id modelId, Action<InferTrainedModelRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new InferTrainedModelRequestDescriptor<TDocument>(modelId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<InferTrainedModelRequestDescriptor<TDocument>, InferTrainedModelResponse, InferTrainedModelRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Evaluate a trained model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/infer-trained-model.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<InferTrainedModelResponse> InferTrainedModelAsync(InferTrainedModelRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<InferTrainedModelRequestDescriptor, InferTrainedModelResponse, InferTrainedModelRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Evaluate a trained model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/infer-trained-model.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<InferTrainedModelResponse> InferTrainedModelAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, CancellationToken cancellationToken = default)
	{
		var descriptor = new InferTrainedModelRequestDescriptor(modelId);
		descriptor.BeforeRequest();
		return DoRequestAsync<InferTrainedModelRequestDescriptor, InferTrainedModelResponse, InferTrainedModelRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Evaluate a trained model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/infer-trained-model.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<InferTrainedModelResponse> InferTrainedModelAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, Action<InferTrainedModelRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new InferTrainedModelRequestDescriptor(modelId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<InferTrainedModelRequestDescriptor, InferTrainedModelResponse, InferTrainedModelRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Returns defaults and limits used by machine learning.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-ml-info.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<MlInfoResponse> InfoAsync(MlInfoRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<MlInfoRequest, MlInfoResponse, MlInfoRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Returns defaults and limits used by machine learning.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-ml-info.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<MlInfoResponse> InfoAsync(MlInfoRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<MlInfoRequestDescriptor, MlInfoResponse, MlInfoRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Returns defaults and limits used by machine learning.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-ml-info.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<MlInfoResponse> InfoAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new MlInfoRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<MlInfoRequestDescriptor, MlInfoResponse, MlInfoRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Returns defaults and limits used by machine learning.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-ml-info.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<MlInfoResponse> InfoAsync(Action<MlInfoRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new MlInfoRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<MlInfoRequestDescriptor, MlInfoResponse, MlInfoRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Opens one or more anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-open-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<OpenJobResponse> OpenJobAsync(OpenJobRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<OpenJobRequest, OpenJobResponse, OpenJobRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Opens one or more anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-open-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<OpenJobResponse> OpenJobAsync(OpenJobRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<OpenJobRequestDescriptor, OpenJobResponse, OpenJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Opens one or more anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-open-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<OpenJobResponse> OpenJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new OpenJobRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<OpenJobRequestDescriptor, OpenJobResponse, OpenJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Opens one or more anomaly detection jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-open-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<OpenJobResponse> OpenJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<OpenJobRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new OpenJobRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<OpenJobRequestDescriptor, OpenJobResponse, OpenJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Posts scheduled events in a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-post-calendar-event.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PostCalendarEventsResponse> PostCalendarEventsAsync(PostCalendarEventsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<PostCalendarEventsRequest, PostCalendarEventsResponse, PostCalendarEventsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Posts scheduled events in a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-post-calendar-event.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PostCalendarEventsResponse> PostCalendarEventsAsync(PostCalendarEventsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<PostCalendarEventsRequestDescriptor, PostCalendarEventsResponse, PostCalendarEventsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Posts scheduled events in a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-post-calendar-event.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PostCalendarEventsResponse> PostCalendarEventsAsync(Elastic.Clients.Elasticsearch.Serverless.Id calendarId, CancellationToken cancellationToken = default)
	{
		var descriptor = new PostCalendarEventsRequestDescriptor(calendarId);
		descriptor.BeforeRequest();
		return DoRequestAsync<PostCalendarEventsRequestDescriptor, PostCalendarEventsResponse, PostCalendarEventsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Posts scheduled events in a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-post-calendar-event.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PostCalendarEventsResponse> PostCalendarEventsAsync(Elastic.Clients.Elasticsearch.Serverless.Id calendarId, Action<PostCalendarEventsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PostCalendarEventsRequestDescriptor(calendarId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PostCalendarEventsRequestDescriptor, PostCalendarEventsResponse, PostCalendarEventsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Previews that will be analyzed given a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/preview-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PreviewDataFrameAnalyticsResponse> PreviewDataFrameAnalyticsAsync(PreviewDataFrameAnalyticsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<PreviewDataFrameAnalyticsRequest, PreviewDataFrameAnalyticsResponse, PreviewDataFrameAnalyticsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Previews that will be analyzed given a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/preview-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PreviewDataFrameAnalyticsResponse> PreviewDataFrameAnalyticsAsync<TDocument>(PreviewDataFrameAnalyticsRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<PreviewDataFrameAnalyticsRequestDescriptor<TDocument>, PreviewDataFrameAnalyticsResponse, PreviewDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Previews that will be analyzed given a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/preview-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PreviewDataFrameAnalyticsResponse> PreviewDataFrameAnalyticsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id? id, CancellationToken cancellationToken = default)
	{
		var descriptor = new PreviewDataFrameAnalyticsRequestDescriptor<TDocument>(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<PreviewDataFrameAnalyticsRequestDescriptor<TDocument>, PreviewDataFrameAnalyticsResponse, PreviewDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Previews that will be analyzed given a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/preview-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PreviewDataFrameAnalyticsResponse> PreviewDataFrameAnalyticsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id? id, Action<PreviewDataFrameAnalyticsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PreviewDataFrameAnalyticsRequestDescriptor<TDocument>(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PreviewDataFrameAnalyticsRequestDescriptor<TDocument>, PreviewDataFrameAnalyticsResponse, PreviewDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Previews that will be analyzed given a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/preview-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PreviewDataFrameAnalyticsResponse> PreviewDataFrameAnalyticsAsync<TDocument>(CancellationToken cancellationToken = default)
	{
		var descriptor = new PreviewDataFrameAnalyticsRequestDescriptor<TDocument>();
		descriptor.BeforeRequest();
		return DoRequestAsync<PreviewDataFrameAnalyticsRequestDescriptor<TDocument>, PreviewDataFrameAnalyticsResponse, PreviewDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Previews that will be analyzed given a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/preview-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PreviewDataFrameAnalyticsResponse> PreviewDataFrameAnalyticsAsync<TDocument>(Action<PreviewDataFrameAnalyticsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PreviewDataFrameAnalyticsRequestDescriptor<TDocument>();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PreviewDataFrameAnalyticsRequestDescriptor<TDocument>, PreviewDataFrameAnalyticsResponse, PreviewDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Previews that will be analyzed given a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/preview-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PreviewDataFrameAnalyticsResponse> PreviewDataFrameAnalyticsAsync(PreviewDataFrameAnalyticsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<PreviewDataFrameAnalyticsRequestDescriptor, PreviewDataFrameAnalyticsResponse, PreviewDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Previews that will be analyzed given a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/preview-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PreviewDataFrameAnalyticsResponse> PreviewDataFrameAnalyticsAsync(Elastic.Clients.Elasticsearch.Serverless.Id? id, CancellationToken cancellationToken = default)
	{
		var descriptor = new PreviewDataFrameAnalyticsRequestDescriptor(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<PreviewDataFrameAnalyticsRequestDescriptor, PreviewDataFrameAnalyticsResponse, PreviewDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Previews that will be analyzed given a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/preview-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PreviewDataFrameAnalyticsResponse> PreviewDataFrameAnalyticsAsync(Elastic.Clients.Elasticsearch.Serverless.Id? id, Action<PreviewDataFrameAnalyticsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PreviewDataFrameAnalyticsRequestDescriptor(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PreviewDataFrameAnalyticsRequestDescriptor, PreviewDataFrameAnalyticsResponse, PreviewDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Previews that will be analyzed given a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/preview-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PreviewDataFrameAnalyticsResponse> PreviewDataFrameAnalyticsAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new PreviewDataFrameAnalyticsRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<PreviewDataFrameAnalyticsRequestDescriptor, PreviewDataFrameAnalyticsResponse, PreviewDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Previews that will be analyzed given a data frame analytics config.</para>
	/// <para><see href="http://www.elastic.co/guide/en/elasticsearch/reference/current/preview-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PreviewDataFrameAnalyticsResponse> PreviewDataFrameAnalyticsAsync(Action<PreviewDataFrameAnalyticsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PreviewDataFrameAnalyticsRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PreviewDataFrameAnalyticsRequestDescriptor, PreviewDataFrameAnalyticsResponse, PreviewDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-calendar.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutCalendarResponse> PutCalendarAsync(PutCalendarRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<PutCalendarRequest, PutCalendarResponse, PutCalendarRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-calendar.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutCalendarResponse> PutCalendarAsync(PutCalendarRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<PutCalendarRequestDescriptor, PutCalendarResponse, PutCalendarRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-calendar.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutCalendarResponse> PutCalendarAsync(Elastic.Clients.Elasticsearch.Serverless.Id calendarId, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutCalendarRequestDescriptor(calendarId);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutCalendarRequestDescriptor, PutCalendarResponse, PutCalendarRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-calendar.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutCalendarResponse> PutCalendarAsync(Elastic.Clients.Elasticsearch.Serverless.Id calendarId, Action<PutCalendarRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutCalendarRequestDescriptor(calendarId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutCalendarRequestDescriptor, PutCalendarResponse, PutCalendarRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Adds an anomaly detection job to a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-calendar-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutCalendarJobResponse> PutCalendarJobAsync(PutCalendarJobRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<PutCalendarJobRequest, PutCalendarJobResponse, PutCalendarJobRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Adds an anomaly detection job to a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-calendar-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutCalendarJobResponse> PutCalendarJobAsync(PutCalendarJobRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<PutCalendarJobRequestDescriptor, PutCalendarJobResponse, PutCalendarJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Adds an anomaly detection job to a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-calendar-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutCalendarJobResponse> PutCalendarJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id calendarId, Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutCalendarJobRequestDescriptor(calendarId, jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutCalendarJobRequestDescriptor, PutCalendarJobResponse, PutCalendarJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Adds an anomaly detection job to a calendar.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-calendar-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutCalendarJobResponse> PutCalendarJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id calendarId, Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<PutCalendarJobRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutCalendarJobRequestDescriptor(calendarId, jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutCalendarJobRequestDescriptor, PutCalendarJobResponse, PutCalendarJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutDatafeedResponse> PutDatafeedAsync(PutDatafeedRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<PutDatafeedRequest, PutDatafeedResponse, PutDatafeedRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutDatafeedResponse> PutDatafeedAsync<TDocument>(PutDatafeedRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<PutDatafeedRequestDescriptor<TDocument>, PutDatafeedResponse, PutDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutDatafeedResponse> PutDatafeedAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id datafeedId, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutDatafeedRequestDescriptor<TDocument>(datafeedId);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutDatafeedRequestDescriptor<TDocument>, PutDatafeedResponse, PutDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutDatafeedResponse> PutDatafeedAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id datafeedId, Action<PutDatafeedRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutDatafeedRequestDescriptor<TDocument>(datafeedId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutDatafeedRequestDescriptor<TDocument>, PutDatafeedResponse, PutDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutDatafeedResponse> PutDatafeedAsync(PutDatafeedRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<PutDatafeedRequestDescriptor, PutDatafeedResponse, PutDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutDatafeedResponse> PutDatafeedAsync(Elastic.Clients.Elasticsearch.Serverless.Id datafeedId, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutDatafeedRequestDescriptor(datafeedId);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutDatafeedRequestDescriptor, PutDatafeedResponse, PutDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutDatafeedResponse> PutDatafeedAsync(Elastic.Clients.Elasticsearch.Serverless.Id datafeedId, Action<PutDatafeedRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutDatafeedRequestDescriptor(datafeedId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutDatafeedRequestDescriptor, PutDatafeedResponse, PutDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/put-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutDataFrameAnalyticsResponse> PutDataFrameAnalyticsAsync(PutDataFrameAnalyticsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<PutDataFrameAnalyticsRequest, PutDataFrameAnalyticsResponse, PutDataFrameAnalyticsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/put-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutDataFrameAnalyticsResponse> PutDataFrameAnalyticsAsync<TDocument>(PutDataFrameAnalyticsRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<PutDataFrameAnalyticsRequestDescriptor<TDocument>, PutDataFrameAnalyticsResponse, PutDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/put-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutDataFrameAnalyticsResponse> PutDataFrameAnalyticsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id id, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutDataFrameAnalyticsRequestDescriptor<TDocument>(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutDataFrameAnalyticsRequestDescriptor<TDocument>, PutDataFrameAnalyticsResponse, PutDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/put-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutDataFrameAnalyticsResponse> PutDataFrameAnalyticsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id id, Action<PutDataFrameAnalyticsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutDataFrameAnalyticsRequestDescriptor<TDocument>(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutDataFrameAnalyticsRequestDescriptor<TDocument>, PutDataFrameAnalyticsResponse, PutDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/put-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutDataFrameAnalyticsResponse> PutDataFrameAnalyticsAsync(PutDataFrameAnalyticsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<PutDataFrameAnalyticsRequestDescriptor, PutDataFrameAnalyticsResponse, PutDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/put-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutDataFrameAnalyticsResponse> PutDataFrameAnalyticsAsync(Elastic.Clients.Elasticsearch.Serverless.Id id, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutDataFrameAnalyticsRequestDescriptor(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutDataFrameAnalyticsRequestDescriptor, PutDataFrameAnalyticsResponse, PutDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/8.13/put-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutDataFrameAnalyticsResponse> PutDataFrameAnalyticsAsync(Elastic.Clients.Elasticsearch.Serverless.Id id, Action<PutDataFrameAnalyticsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutDataFrameAnalyticsRequestDescriptor(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutDataFrameAnalyticsRequestDescriptor, PutDataFrameAnalyticsResponse, PutDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a filter.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutFilterResponse> PutFilterAsync(PutFilterRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<PutFilterRequest, PutFilterResponse, PutFilterRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a filter.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutFilterResponse> PutFilterAsync(PutFilterRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<PutFilterRequestDescriptor, PutFilterResponse, PutFilterRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a filter.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutFilterResponse> PutFilterAsync(Elastic.Clients.Elasticsearch.Serverless.Id filterId, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutFilterRequestDescriptor(filterId);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutFilterRequestDescriptor, PutFilterResponse, PutFilterRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates a filter.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutFilterResponse> PutFilterAsync(Elastic.Clients.Elasticsearch.Serverless.Id filterId, Action<PutFilterRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutFilterRequestDescriptor(filterId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutFilterRequestDescriptor, PutFilterResponse, PutFilterRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutJobResponse> PutJobAsync(PutJobRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<PutJobRequest, PutJobResponse, PutJobRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutJobResponse> PutJobAsync<TDocument>(PutJobRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<PutJobRequestDescriptor<TDocument>, PutJobResponse, PutJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutJobResponse> PutJobAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutJobRequestDescriptor<TDocument>(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutJobRequestDescriptor<TDocument>, PutJobResponse, PutJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutJobResponse> PutJobAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<PutJobRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutJobRequestDescriptor<TDocument>(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutJobRequestDescriptor<TDocument>, PutJobResponse, PutJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutJobResponse> PutJobAsync(PutJobRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<PutJobRequestDescriptor, PutJobResponse, PutJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutJobResponse> PutJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutJobRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutJobRequestDescriptor, PutJobResponse, PutJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Instantiates an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutJobResponse> PutJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<PutJobRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutJobRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutJobRequestDescriptor, PutJobResponse, PutJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Creates an inference trained model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelResponse> PutTrainedModelAsync(PutTrainedModelRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<PutTrainedModelRequest, PutTrainedModelResponse, PutTrainedModelRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Creates an inference trained model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelResponse> PutTrainedModelAsync<TDocument>(PutTrainedModelRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<PutTrainedModelRequestDescriptor<TDocument>, PutTrainedModelResponse, PutTrainedModelRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Creates an inference trained model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelResponse> PutTrainedModelAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id modelId, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutTrainedModelRequestDescriptor<TDocument>(modelId);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutTrainedModelRequestDescriptor<TDocument>, PutTrainedModelResponse, PutTrainedModelRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Creates an inference trained model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelResponse> PutTrainedModelAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id modelId, Action<PutTrainedModelRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutTrainedModelRequestDescriptor<TDocument>(modelId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutTrainedModelRequestDescriptor<TDocument>, PutTrainedModelResponse, PutTrainedModelRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Creates an inference trained model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelResponse> PutTrainedModelAsync(PutTrainedModelRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<PutTrainedModelRequestDescriptor, PutTrainedModelResponse, PutTrainedModelRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Creates an inference trained model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelResponse> PutTrainedModelAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutTrainedModelRequestDescriptor(modelId);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutTrainedModelRequestDescriptor, PutTrainedModelResponse, PutTrainedModelRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Creates an inference trained model.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelResponse> PutTrainedModelAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, Action<PutTrainedModelRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutTrainedModelRequestDescriptor(modelId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutTrainedModelRequestDescriptor, PutTrainedModelResponse, PutTrainedModelRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Creates a new model alias (or reassigns an existing one) to refer to the trained model</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models-aliases.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelAliasResponse> PutTrainedModelAliasAsync(PutTrainedModelAliasRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<PutTrainedModelAliasRequest, PutTrainedModelAliasResponse, PutTrainedModelAliasRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Creates a new model alias (or reassigns an existing one) to refer to the trained model</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models-aliases.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelAliasResponse> PutTrainedModelAliasAsync(PutTrainedModelAliasRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<PutTrainedModelAliasRequestDescriptor, PutTrainedModelAliasResponse, PutTrainedModelAliasRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Creates a new model alias (or reassigns an existing one) to refer to the trained model</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models-aliases.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelAliasResponse> PutTrainedModelAliasAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, Elastic.Clients.Elasticsearch.Serverless.Name modelAlias, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutTrainedModelAliasRequestDescriptor(modelId, modelAlias);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutTrainedModelAliasRequestDescriptor, PutTrainedModelAliasResponse, PutTrainedModelAliasRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Creates a new model alias (or reassigns an existing one) to refer to the trained model</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-models-aliases.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelAliasResponse> PutTrainedModelAliasAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, Elastic.Clients.Elasticsearch.Serverless.Name modelAlias, Action<PutTrainedModelAliasRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutTrainedModelAliasRequestDescriptor(modelId, modelAlias);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutTrainedModelAliasRequestDescriptor, PutTrainedModelAliasResponse, PutTrainedModelAliasRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Creates part of a trained model definition</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-model-definition-part.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelDefinitionPartResponse> PutTrainedModelDefinitionPartAsync(PutTrainedModelDefinitionPartRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<PutTrainedModelDefinitionPartRequest, PutTrainedModelDefinitionPartResponse, PutTrainedModelDefinitionPartRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Creates part of a trained model definition</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-model-definition-part.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelDefinitionPartResponse> PutTrainedModelDefinitionPartAsync(PutTrainedModelDefinitionPartRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<PutTrainedModelDefinitionPartRequestDescriptor, PutTrainedModelDefinitionPartResponse, PutTrainedModelDefinitionPartRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Creates part of a trained model definition</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-model-definition-part.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelDefinitionPartResponse> PutTrainedModelDefinitionPartAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, int part, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutTrainedModelDefinitionPartRequestDescriptor(modelId, part);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutTrainedModelDefinitionPartRequestDescriptor, PutTrainedModelDefinitionPartResponse, PutTrainedModelDefinitionPartRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Creates part of a trained model definition</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-model-definition-part.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelDefinitionPartResponse> PutTrainedModelDefinitionPartAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, int part, Action<PutTrainedModelDefinitionPartRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutTrainedModelDefinitionPartRequestDescriptor(modelId, part);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutTrainedModelDefinitionPartRequestDescriptor, PutTrainedModelDefinitionPartResponse, PutTrainedModelDefinitionPartRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Creates a trained model vocabulary</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-model-vocabulary.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelVocabularyResponse> PutTrainedModelVocabularyAsync(PutTrainedModelVocabularyRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<PutTrainedModelVocabularyRequest, PutTrainedModelVocabularyResponse, PutTrainedModelVocabularyRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Creates a trained model vocabulary</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-model-vocabulary.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelVocabularyResponse> PutTrainedModelVocabularyAsync(PutTrainedModelVocabularyRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<PutTrainedModelVocabularyRequestDescriptor, PutTrainedModelVocabularyResponse, PutTrainedModelVocabularyRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Creates a trained model vocabulary</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-model-vocabulary.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelVocabularyResponse> PutTrainedModelVocabularyAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutTrainedModelVocabularyRequestDescriptor(modelId);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutTrainedModelVocabularyRequestDescriptor, PutTrainedModelVocabularyResponse, PutTrainedModelVocabularyRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Creates a trained model vocabulary</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-trained-model-vocabulary.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<PutTrainedModelVocabularyResponse> PutTrainedModelVocabularyAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, Action<PutTrainedModelVocabularyRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new PutTrainedModelVocabularyRequestDescriptor(modelId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<PutTrainedModelVocabularyRequestDescriptor, PutTrainedModelVocabularyResponse, PutTrainedModelVocabularyRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Resets an existing anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-reset-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ResetJobResponse> ResetJobAsync(ResetJobRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<ResetJobRequest, ResetJobResponse, ResetJobRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Resets an existing anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-reset-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ResetJobResponse> ResetJobAsync(ResetJobRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<ResetJobRequestDescriptor, ResetJobResponse, ResetJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Resets an existing anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-reset-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ResetJobResponse> ResetJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new ResetJobRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<ResetJobRequestDescriptor, ResetJobResponse, ResetJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Resets an existing anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-reset-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ResetJobResponse> ResetJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<ResetJobRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new ResetJobRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<ResetJobRequestDescriptor, ResetJobResponse, ResetJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Reverts to a specific snapshot.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-revert-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<RevertModelSnapshotResponse> RevertModelSnapshotAsync(RevertModelSnapshotRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<RevertModelSnapshotRequest, RevertModelSnapshotResponse, RevertModelSnapshotRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Reverts to a specific snapshot.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-revert-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<RevertModelSnapshotResponse> RevertModelSnapshotAsync(RevertModelSnapshotRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<RevertModelSnapshotRequestDescriptor, RevertModelSnapshotResponse, RevertModelSnapshotRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Reverts to a specific snapshot.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-revert-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<RevertModelSnapshotResponse> RevertModelSnapshotAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Elastic.Clients.Elasticsearch.Serverless.Id snapshotId, CancellationToken cancellationToken = default)
	{
		var descriptor = new RevertModelSnapshotRequestDescriptor(jobId, snapshotId);
		descriptor.BeforeRequest();
		return DoRequestAsync<RevertModelSnapshotRequestDescriptor, RevertModelSnapshotResponse, RevertModelSnapshotRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Reverts to a specific snapshot.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-revert-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<RevertModelSnapshotResponse> RevertModelSnapshotAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Elastic.Clients.Elasticsearch.Serverless.Id snapshotId, Action<RevertModelSnapshotRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new RevertModelSnapshotRequestDescriptor(jobId, snapshotId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<RevertModelSnapshotRequestDescriptor, RevertModelSnapshotResponse, RevertModelSnapshotRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Sets a cluster wide upgrade_mode setting that prepares machine learning indices for an upgrade.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-set-upgrade-mode.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<SetUpgradeModeResponse> SetUpgradeModeAsync(SetUpgradeModeRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<SetUpgradeModeRequest, SetUpgradeModeResponse, SetUpgradeModeRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Sets a cluster wide upgrade_mode setting that prepares machine learning indices for an upgrade.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-set-upgrade-mode.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<SetUpgradeModeResponse> SetUpgradeModeAsync(SetUpgradeModeRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<SetUpgradeModeRequestDescriptor, SetUpgradeModeResponse, SetUpgradeModeRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Sets a cluster wide upgrade_mode setting that prepares machine learning indices for an upgrade.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-set-upgrade-mode.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<SetUpgradeModeResponse> SetUpgradeModeAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new SetUpgradeModeRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<SetUpgradeModeRequestDescriptor, SetUpgradeModeResponse, SetUpgradeModeRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Sets a cluster wide upgrade_mode setting that prepares machine learning indices for an upgrade.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-set-upgrade-mode.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<SetUpgradeModeResponse> SetUpgradeModeAsync(Action<SetUpgradeModeRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new SetUpgradeModeRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<SetUpgradeModeRequestDescriptor, SetUpgradeModeResponse, SetUpgradeModeRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Starts one or more datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-start-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StartDatafeedResponse> StartDatafeedAsync(StartDatafeedRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<StartDatafeedRequest, StartDatafeedResponse, StartDatafeedRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Starts one or more datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-start-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StartDatafeedResponse> StartDatafeedAsync(StartDatafeedRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<StartDatafeedRequestDescriptor, StartDatafeedResponse, StartDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Starts one or more datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-start-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StartDatafeedResponse> StartDatafeedAsync(Elastic.Clients.Elasticsearch.Serverless.Id datafeedId, CancellationToken cancellationToken = default)
	{
		var descriptor = new StartDatafeedRequestDescriptor(datafeedId);
		descriptor.BeforeRequest();
		return DoRequestAsync<StartDatafeedRequestDescriptor, StartDatafeedResponse, StartDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Starts one or more datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-start-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StartDatafeedResponse> StartDatafeedAsync(Elastic.Clients.Elasticsearch.Serverless.Id datafeedId, Action<StartDatafeedRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new StartDatafeedRequestDescriptor(datafeedId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<StartDatafeedRequestDescriptor, StartDatafeedResponse, StartDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Starts a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/start-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StartDataFrameAnalyticsResponse> StartDataFrameAnalyticsAsync(StartDataFrameAnalyticsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<StartDataFrameAnalyticsRequest, StartDataFrameAnalyticsResponse, StartDataFrameAnalyticsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Starts a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/start-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StartDataFrameAnalyticsResponse> StartDataFrameAnalyticsAsync<TDocument>(StartDataFrameAnalyticsRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<StartDataFrameAnalyticsRequestDescriptor<TDocument>, StartDataFrameAnalyticsResponse, StartDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Starts a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/start-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StartDataFrameAnalyticsResponse> StartDataFrameAnalyticsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id id, CancellationToken cancellationToken = default)
	{
		var descriptor = new StartDataFrameAnalyticsRequestDescriptor<TDocument>(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<StartDataFrameAnalyticsRequestDescriptor<TDocument>, StartDataFrameAnalyticsResponse, StartDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Starts a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/start-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StartDataFrameAnalyticsResponse> StartDataFrameAnalyticsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id id, Action<StartDataFrameAnalyticsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new StartDataFrameAnalyticsRequestDescriptor<TDocument>(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<StartDataFrameAnalyticsRequestDescriptor<TDocument>, StartDataFrameAnalyticsResponse, StartDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Starts a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/start-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StartDataFrameAnalyticsResponse> StartDataFrameAnalyticsAsync(StartDataFrameAnalyticsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<StartDataFrameAnalyticsRequestDescriptor, StartDataFrameAnalyticsResponse, StartDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Starts a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/start-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StartDataFrameAnalyticsResponse> StartDataFrameAnalyticsAsync(Elastic.Clients.Elasticsearch.Serverless.Id id, CancellationToken cancellationToken = default)
	{
		var descriptor = new StartDataFrameAnalyticsRequestDescriptor(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<StartDataFrameAnalyticsRequestDescriptor, StartDataFrameAnalyticsResponse, StartDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Starts a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/start-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StartDataFrameAnalyticsResponse> StartDataFrameAnalyticsAsync(Elastic.Clients.Elasticsearch.Serverless.Id id, Action<StartDataFrameAnalyticsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new StartDataFrameAnalyticsRequestDescriptor(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<StartDataFrameAnalyticsRequestDescriptor, StartDataFrameAnalyticsResponse, StartDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Start a trained model deployment.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/start-trained-model-deployment.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StartTrainedModelDeploymentResponse> StartTrainedModelDeploymentAsync(StartTrainedModelDeploymentRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<StartTrainedModelDeploymentRequest, StartTrainedModelDeploymentResponse, StartTrainedModelDeploymentRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Start a trained model deployment.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/start-trained-model-deployment.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StartTrainedModelDeploymentResponse> StartTrainedModelDeploymentAsync(StartTrainedModelDeploymentRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<StartTrainedModelDeploymentRequestDescriptor, StartTrainedModelDeploymentResponse, StartTrainedModelDeploymentRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Start a trained model deployment.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/start-trained-model-deployment.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StartTrainedModelDeploymentResponse> StartTrainedModelDeploymentAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, CancellationToken cancellationToken = default)
	{
		var descriptor = new StartTrainedModelDeploymentRequestDescriptor(modelId);
		descriptor.BeforeRequest();
		return DoRequestAsync<StartTrainedModelDeploymentRequestDescriptor, StartTrainedModelDeploymentResponse, StartTrainedModelDeploymentRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Start a trained model deployment.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/start-trained-model-deployment.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StartTrainedModelDeploymentResponse> StartTrainedModelDeploymentAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, Action<StartTrainedModelDeploymentRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new StartTrainedModelDeploymentRequestDescriptor(modelId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<StartTrainedModelDeploymentRequestDescriptor, StartTrainedModelDeploymentResponse, StartTrainedModelDeploymentRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Stops one or more datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-stop-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StopDatafeedResponse> StopDatafeedAsync(StopDatafeedRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<StopDatafeedRequest, StopDatafeedResponse, StopDatafeedRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Stops one or more datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-stop-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StopDatafeedResponse> StopDatafeedAsync(StopDatafeedRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<StopDatafeedRequestDescriptor, StopDatafeedResponse, StopDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Stops one or more datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-stop-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StopDatafeedResponse> StopDatafeedAsync(Elastic.Clients.Elasticsearch.Serverless.Id datafeedId, CancellationToken cancellationToken = default)
	{
		var descriptor = new StopDatafeedRequestDescriptor(datafeedId);
		descriptor.BeforeRequest();
		return DoRequestAsync<StopDatafeedRequestDescriptor, StopDatafeedResponse, StopDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Stops one or more datafeeds.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-stop-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StopDatafeedResponse> StopDatafeedAsync(Elastic.Clients.Elasticsearch.Serverless.Id datafeedId, Action<StopDatafeedRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new StopDatafeedRequestDescriptor(datafeedId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<StopDatafeedRequestDescriptor, StopDatafeedResponse, StopDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Stops one or more data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StopDataFrameAnalyticsResponse> StopDataFrameAnalyticsAsync(StopDataFrameAnalyticsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<StopDataFrameAnalyticsRequest, StopDataFrameAnalyticsResponse, StopDataFrameAnalyticsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Stops one or more data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StopDataFrameAnalyticsResponse> StopDataFrameAnalyticsAsync<TDocument>(StopDataFrameAnalyticsRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<StopDataFrameAnalyticsRequestDescriptor<TDocument>, StopDataFrameAnalyticsResponse, StopDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Stops one or more data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StopDataFrameAnalyticsResponse> StopDataFrameAnalyticsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id id, CancellationToken cancellationToken = default)
	{
		var descriptor = new StopDataFrameAnalyticsRequestDescriptor<TDocument>(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<StopDataFrameAnalyticsRequestDescriptor<TDocument>, StopDataFrameAnalyticsResponse, StopDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Stops one or more data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StopDataFrameAnalyticsResponse> StopDataFrameAnalyticsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id id, Action<StopDataFrameAnalyticsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new StopDataFrameAnalyticsRequestDescriptor<TDocument>(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<StopDataFrameAnalyticsRequestDescriptor<TDocument>, StopDataFrameAnalyticsResponse, StopDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Stops one or more data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StopDataFrameAnalyticsResponse> StopDataFrameAnalyticsAsync(StopDataFrameAnalyticsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<StopDataFrameAnalyticsRequestDescriptor, StopDataFrameAnalyticsResponse, StopDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Stops one or more data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StopDataFrameAnalyticsResponse> StopDataFrameAnalyticsAsync(Elastic.Clients.Elasticsearch.Serverless.Id id, CancellationToken cancellationToken = default)
	{
		var descriptor = new StopDataFrameAnalyticsRequestDescriptor(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<StopDataFrameAnalyticsRequestDescriptor, StopDataFrameAnalyticsResponse, StopDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Stops one or more data frame analytics jobs.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/stop-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StopDataFrameAnalyticsResponse> StopDataFrameAnalyticsAsync(Elastic.Clients.Elasticsearch.Serverless.Id id, Action<StopDataFrameAnalyticsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new StopDataFrameAnalyticsRequestDescriptor(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<StopDataFrameAnalyticsRequestDescriptor, StopDataFrameAnalyticsResponse, StopDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Stop a trained model deployment.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/stop-trained-model-deployment.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StopTrainedModelDeploymentResponse> StopTrainedModelDeploymentAsync(StopTrainedModelDeploymentRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<StopTrainedModelDeploymentRequest, StopTrainedModelDeploymentResponse, StopTrainedModelDeploymentRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Stop a trained model deployment.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/stop-trained-model-deployment.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StopTrainedModelDeploymentResponse> StopTrainedModelDeploymentAsync(StopTrainedModelDeploymentRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<StopTrainedModelDeploymentRequestDescriptor, StopTrainedModelDeploymentResponse, StopTrainedModelDeploymentRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Stop a trained model deployment.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/stop-trained-model-deployment.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StopTrainedModelDeploymentResponse> StopTrainedModelDeploymentAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, CancellationToken cancellationToken = default)
	{
		var descriptor = new StopTrainedModelDeploymentRequestDescriptor(modelId);
		descriptor.BeforeRequest();
		return DoRequestAsync<StopTrainedModelDeploymentRequestDescriptor, StopTrainedModelDeploymentResponse, StopTrainedModelDeploymentRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Stop a trained model deployment.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/master/stop-trained-model-deployment.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<StopTrainedModelDeploymentResponse> StopTrainedModelDeploymentAsync(Elastic.Clients.Elasticsearch.Serverless.Id modelId, Action<StopTrainedModelDeploymentRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new StopTrainedModelDeploymentRequestDescriptor(modelId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<StopTrainedModelDeploymentRequestDescriptor, StopTrainedModelDeploymentResponse, StopTrainedModelDeploymentRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateDatafeedResponse> UpdateDatafeedAsync(UpdateDatafeedRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<UpdateDatafeedRequest, UpdateDatafeedResponse, UpdateDatafeedRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateDatafeedResponse> UpdateDatafeedAsync<TDocument>(UpdateDatafeedRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateDatafeedRequestDescriptor<TDocument>, UpdateDatafeedResponse, UpdateDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateDatafeedResponse> UpdateDatafeedAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id datafeedId, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpdateDatafeedRequestDescriptor<TDocument>(datafeedId);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateDatafeedRequestDescriptor<TDocument>, UpdateDatafeedResponse, UpdateDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateDatafeedResponse> UpdateDatafeedAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id datafeedId, Action<UpdateDatafeedRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpdateDatafeedRequestDescriptor<TDocument>(datafeedId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateDatafeedRequestDescriptor<TDocument>, UpdateDatafeedResponse, UpdateDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateDatafeedResponse> UpdateDatafeedAsync(UpdateDatafeedRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateDatafeedRequestDescriptor, UpdateDatafeedResponse, UpdateDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateDatafeedResponse> UpdateDatafeedAsync(Elastic.Clients.Elasticsearch.Serverless.Id datafeedId, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpdateDatafeedRequestDescriptor(datafeedId);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateDatafeedRequestDescriptor, UpdateDatafeedResponse, UpdateDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a datafeed.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-datafeed.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateDatafeedResponse> UpdateDatafeedAsync(Elastic.Clients.Elasticsearch.Serverless.Id datafeedId, Action<UpdateDatafeedRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpdateDatafeedRequestDescriptor(datafeedId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateDatafeedRequestDescriptor, UpdateDatafeedResponse, UpdateDatafeedRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/update-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateDataFrameAnalyticsResponse> UpdateDataFrameAnalyticsAsync(UpdateDataFrameAnalyticsRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<UpdateDataFrameAnalyticsRequest, UpdateDataFrameAnalyticsResponse, UpdateDataFrameAnalyticsRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/update-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateDataFrameAnalyticsResponse> UpdateDataFrameAnalyticsAsync<TDocument>(UpdateDataFrameAnalyticsRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateDataFrameAnalyticsRequestDescriptor<TDocument>, UpdateDataFrameAnalyticsResponse, UpdateDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/update-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateDataFrameAnalyticsResponse> UpdateDataFrameAnalyticsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id id, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpdateDataFrameAnalyticsRequestDescriptor<TDocument>(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateDataFrameAnalyticsRequestDescriptor<TDocument>, UpdateDataFrameAnalyticsResponse, UpdateDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/update-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateDataFrameAnalyticsResponse> UpdateDataFrameAnalyticsAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id id, Action<UpdateDataFrameAnalyticsRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpdateDataFrameAnalyticsRequestDescriptor<TDocument>(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateDataFrameAnalyticsRequestDescriptor<TDocument>, UpdateDataFrameAnalyticsResponse, UpdateDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/update-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateDataFrameAnalyticsResponse> UpdateDataFrameAnalyticsAsync(UpdateDataFrameAnalyticsRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateDataFrameAnalyticsRequestDescriptor, UpdateDataFrameAnalyticsResponse, UpdateDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/update-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateDataFrameAnalyticsResponse> UpdateDataFrameAnalyticsAsync(Elastic.Clients.Elasticsearch.Serverless.Id id, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpdateDataFrameAnalyticsRequestDescriptor(id);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateDataFrameAnalyticsRequestDescriptor, UpdateDataFrameAnalyticsResponse, UpdateDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a data frame analytics job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/update-dfanalytics.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateDataFrameAnalyticsResponse> UpdateDataFrameAnalyticsAsync(Elastic.Clients.Elasticsearch.Serverless.Id id, Action<UpdateDataFrameAnalyticsRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpdateDataFrameAnalyticsRequestDescriptor(id);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateDataFrameAnalyticsRequestDescriptor, UpdateDataFrameAnalyticsResponse, UpdateDataFrameAnalyticsRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates the description of a filter, adds items, or removes items.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateFilterResponse> UpdateFilterAsync(UpdateFilterRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<UpdateFilterRequest, UpdateFilterResponse, UpdateFilterRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Updates the description of a filter, adds items, or removes items.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateFilterResponse> UpdateFilterAsync(UpdateFilterRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateFilterRequestDescriptor, UpdateFilterResponse, UpdateFilterRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates the description of a filter, adds items, or removes items.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateFilterResponse> UpdateFilterAsync(Elastic.Clients.Elasticsearch.Serverless.Id filterId, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpdateFilterRequestDescriptor(filterId);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateFilterRequestDescriptor, UpdateFilterResponse, UpdateFilterRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates the description of a filter, adds items, or removes items.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-filter.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateFilterResponse> UpdateFilterAsync(Elastic.Clients.Elasticsearch.Serverless.Id filterId, Action<UpdateFilterRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpdateFilterRequestDescriptor(filterId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateFilterRequestDescriptor, UpdateFilterResponse, UpdateFilterRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateJobResponse> UpdateJobAsync(UpdateJobRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<UpdateJobRequest, UpdateJobResponse, UpdateJobRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateJobResponse> UpdateJobAsync<TDocument>(UpdateJobRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateJobRequestDescriptor<TDocument>, UpdateJobResponse, UpdateJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateJobResponse> UpdateJobAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpdateJobRequestDescriptor<TDocument>(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateJobRequestDescriptor<TDocument>, UpdateJobResponse, UpdateJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateJobResponse> UpdateJobAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<UpdateJobRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpdateJobRequestDescriptor<TDocument>(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateJobRequestDescriptor<TDocument>, UpdateJobResponse, UpdateJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateJobResponse> UpdateJobAsync(UpdateJobRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateJobRequestDescriptor, UpdateJobResponse, UpdateJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateJobResponse> UpdateJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpdateJobRequestDescriptor(jobId);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateJobRequestDescriptor, UpdateJobResponse, UpdateJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-job.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateJobResponse> UpdateJobAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Action<UpdateJobRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpdateJobRequestDescriptor(jobId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateJobRequestDescriptor, UpdateJobResponse, UpdateJobRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a snapshot.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateModelSnapshotResponse> UpdateModelSnapshotAsync(UpdateModelSnapshotRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<UpdateModelSnapshotRequest, UpdateModelSnapshotResponse, UpdateModelSnapshotRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a snapshot.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateModelSnapshotResponse> UpdateModelSnapshotAsync(UpdateModelSnapshotRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateModelSnapshotRequestDescriptor, UpdateModelSnapshotResponse, UpdateModelSnapshotRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a snapshot.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateModelSnapshotResponse> UpdateModelSnapshotAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Elastic.Clients.Elasticsearch.Serverless.Id snapshotId, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpdateModelSnapshotRequestDescriptor(jobId, snapshotId);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateModelSnapshotRequestDescriptor, UpdateModelSnapshotResponse, UpdateModelSnapshotRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Updates certain properties of a snapshot.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-update-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpdateModelSnapshotResponse> UpdateModelSnapshotAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Elastic.Clients.Elasticsearch.Serverless.Id snapshotId, Action<UpdateModelSnapshotRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpdateModelSnapshotRequestDescriptor(jobId, snapshotId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpdateModelSnapshotRequestDescriptor, UpdateModelSnapshotResponse, UpdateModelSnapshotRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Upgrades a given job snapshot to the current major version.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-upgrade-job-model-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpgradeJobSnapshotResponse> UpgradeJobSnapshotAsync(UpgradeJobSnapshotRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<UpgradeJobSnapshotRequest, UpgradeJobSnapshotResponse, UpgradeJobSnapshotRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Upgrades a given job snapshot to the current major version.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-upgrade-job-model-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpgradeJobSnapshotResponse> UpgradeJobSnapshotAsync(UpgradeJobSnapshotRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<UpgradeJobSnapshotRequestDescriptor, UpgradeJobSnapshotResponse, UpgradeJobSnapshotRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Upgrades a given job snapshot to the current major version.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-upgrade-job-model-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpgradeJobSnapshotResponse> UpgradeJobSnapshotAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Elastic.Clients.Elasticsearch.Serverless.Id snapshotId, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpgradeJobSnapshotRequestDescriptor(jobId, snapshotId);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpgradeJobSnapshotRequestDescriptor, UpgradeJobSnapshotResponse, UpgradeJobSnapshotRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Upgrades a given job snapshot to the current major version.</para>
	/// <para><see href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-upgrade-job-model-snapshot.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<UpgradeJobSnapshotResponse> UpgradeJobSnapshotAsync(Elastic.Clients.Elasticsearch.Serverless.Id jobId, Elastic.Clients.Elasticsearch.Serverless.Id snapshotId, Action<UpgradeJobSnapshotRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new UpgradeJobSnapshotRequestDescriptor(jobId, snapshotId);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<UpgradeJobSnapshotRequestDescriptor, UpgradeJobSnapshotResponse, UpgradeJobSnapshotRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Validates an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/machine-learning/current/ml-jobs.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ValidateResponse> ValidateAsync(ValidateRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<ValidateRequest, ValidateResponse, ValidateRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Validates an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/machine-learning/current/ml-jobs.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ValidateResponse> ValidateAsync<TDocument>(ValidateRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<ValidateRequestDescriptor<TDocument>, ValidateResponse, ValidateRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Validates an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/machine-learning/current/ml-jobs.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ValidateResponse> ValidateAsync<TDocument>(CancellationToken cancellationToken = default)
	{
		var descriptor = new ValidateRequestDescriptor<TDocument>();
		descriptor.BeforeRequest();
		return DoRequestAsync<ValidateRequestDescriptor<TDocument>, ValidateResponse, ValidateRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Validates an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/machine-learning/current/ml-jobs.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ValidateResponse> ValidateAsync<TDocument>(Action<ValidateRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new ValidateRequestDescriptor<TDocument>();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<ValidateRequestDescriptor<TDocument>, ValidateResponse, ValidateRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Validates an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/machine-learning/current/ml-jobs.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ValidateResponse> ValidateAsync(ValidateRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<ValidateRequestDescriptor, ValidateResponse, ValidateRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Validates an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/machine-learning/current/ml-jobs.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ValidateResponse> ValidateAsync(CancellationToken cancellationToken = default)
	{
		var descriptor = new ValidateRequestDescriptor();
		descriptor.BeforeRequest();
		return DoRequestAsync<ValidateRequestDescriptor, ValidateResponse, ValidateRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Validates an anomaly detection job.</para>
	/// <para><see href="https://www.elastic.co/guide/en/machine-learning/current/ml-jobs.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ValidateResponse> ValidateAsync(Action<ValidateRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new ValidateRequestDescriptor();
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<ValidateRequestDescriptor, ValidateResponse, ValidateRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Validates an anomaly detection detector.</para>
	/// <para><see href="https://www.elastic.co/guide/en/machine-learning/current/ml-jobs.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ValidateDetectorResponse> ValidateDetectorAsync(ValidateDetectorRequest request, CancellationToken cancellationToken = default)
	{
		request.BeforeRequest();
		return DoRequestAsync<ValidateDetectorRequest, ValidateDetectorResponse, ValidateDetectorRequestParameters>(request, cancellationToken);
	}

	/// <summary>
	/// <para>Validates an anomaly detection detector.</para>
	/// <para><see href="https://www.elastic.co/guide/en/machine-learning/current/ml-jobs.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ValidateDetectorResponse> ValidateDetectorAsync<TDocument>(ValidateDetectorRequestDescriptor<TDocument> descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<ValidateDetectorRequestDescriptor<TDocument>, ValidateDetectorResponse, ValidateDetectorRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Validates an anomaly detection detector.</para>
	/// <para><see href="https://www.elastic.co/guide/en/machine-learning/current/ml-jobs.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ValidateDetectorResponse> ValidateDetectorAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.MachineLearning.Detector detector, CancellationToken cancellationToken = default)
	{
		var descriptor = new ValidateDetectorRequestDescriptor<TDocument>(detector);
		descriptor.BeforeRequest();
		return DoRequestAsync<ValidateDetectorRequestDescriptor<TDocument>, ValidateDetectorResponse, ValidateDetectorRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Validates an anomaly detection detector.</para>
	/// <para><see href="https://www.elastic.co/guide/en/machine-learning/current/ml-jobs.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ValidateDetectorResponse> ValidateDetectorAsync<TDocument>(Elastic.Clients.Elasticsearch.Serverless.MachineLearning.Detector detector, Action<ValidateDetectorRequestDescriptor<TDocument>> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new ValidateDetectorRequestDescriptor<TDocument>(detector);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<ValidateDetectorRequestDescriptor<TDocument>, ValidateDetectorResponse, ValidateDetectorRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Validates an anomaly detection detector.</para>
	/// <para><see href="https://www.elastic.co/guide/en/machine-learning/current/ml-jobs.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ValidateDetectorResponse> ValidateDetectorAsync(ValidateDetectorRequestDescriptor descriptor, CancellationToken cancellationToken = default)
	{
		descriptor.BeforeRequest();
		return DoRequestAsync<ValidateDetectorRequestDescriptor, ValidateDetectorResponse, ValidateDetectorRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Validates an anomaly detection detector.</para>
	/// <para><see href="https://www.elastic.co/guide/en/machine-learning/current/ml-jobs.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ValidateDetectorResponse> ValidateDetectorAsync(Elastic.Clients.Elasticsearch.Serverless.MachineLearning.Detector detector, CancellationToken cancellationToken = default)
	{
		var descriptor = new ValidateDetectorRequestDescriptor(detector);
		descriptor.BeforeRequest();
		return DoRequestAsync<ValidateDetectorRequestDescriptor, ValidateDetectorResponse, ValidateDetectorRequestParameters>(descriptor, cancellationToken);
	}

	/// <summary>
	/// <para>Validates an anomaly detection detector.</para>
	/// <para><see href="https://www.elastic.co/guide/en/machine-learning/current/ml-jobs.html">Learn more about this API in the Elasticsearch documentation.</see></para>
	/// </summary>
	public virtual Task<ValidateDetectorResponse> ValidateDetectorAsync(Elastic.Clients.Elasticsearch.Serverless.MachineLearning.Detector detector, Action<ValidateDetectorRequestDescriptor> configureRequest, CancellationToken cancellationToken = default)
	{
		var descriptor = new ValidateDetectorRequestDescriptor(detector);
		configureRequest?.Invoke(descriptor);
		descriptor.BeforeRequest();
		return DoRequestAsync<ValidateDetectorRequestDescriptor, ValidateDetectorResponse, ValidateDetectorRequestParameters>(descriptor, cancellationToken);
	}
}